docker 镜像相关
下载镜像
docker 中文网址:http://www.docker.org.cn/
该网站是官方用来存储可用镜像网站index.docker.io
也可用命令行方式查询:docker search 镜像名
首先,访问 Docker hub,在首页中搜索名为“centos”的镜像,在搜索的结果中,有一个“官方镜像”,它就是我们所需的。
然后,进入 CentOS 官方镜像页面,在“Pull this repository”输入框中,有一段命令,把它复制下来,在自己的命令行上运行该命令,随后将立即下载该镜像。
查看本地所有的镜像:
docker images
现在镜像已经有了,我们下面就需要使用该镜像,来启动容器
docker run <相关参数> <镜像 ID> <初始命令>
docker run -i -t -v /root/software/:/mnt/software/ 25c5298b1a36 /bin/bash
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
需要说明的是,不一定要使用“镜像 ID”,也可以使用“仓库名:标签名”,
例如:docker.cn/docker/centos:centos6
可使用如下命令查看所有容器:
docker ps -a
使用以下命令,根据某个“容器 ID”来创建一个新的“镜像”:
docker commit 57c312bbaad1 javaweb:0.1
保存容器的修改:
目标:
首先使用docker ps -l 命令获得修改之后容器的id。然后把这个镜像保存为learn/ping。
提示:
1. 运行docker commit,可以查看该命令的参数列表。
2. 你需要指定要提交保存容器的ID。(译者按:通过docker ps -l 命令获得)
3. 无需拷贝完整的id,通常来讲最开始的三至四个字母即可区分。(译者按:非常类似git里面的版本号)
正确的命令:
$docker commit ID号 learn/ping
删除本地镜像:
docker rmi 镜像名/ID
要删除全部image的话
docker rmi $(docker images -q)
上传镜像到docker hub:
docker tag 8d1 mayleng/hello-world:latest
docker push mayleng/hello-world
镜像名字不要加/
不然push 不成功
操作过程分清镜像和容器
通过dockerfile制作镜像
docker build 建立一个新的image
docker build [OPTIONS] PATH | URL | -
-f :指定要使用的Dockerfile路径;
--rm :设置镜像成功后删除中间容器;
-t 镜像的名字及tag,通常name:tag或者name格式
使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像。
docker build github.com/creack/docker-firefox
使用当前目录的Dockerfile创建镜像。
docker build ./ -t runoob/ubuntu:v1 .
只需要知道路径,不需要指定dockerfile