这篇文章主要介绍码头工人和镜像的操作示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
查找镜像
我们可以从码头工人中心网站来搜索镜像,码头工人中心网址为:https://hub.docker.com/
我们也可以使用码头工人搜索命令来搜索镜像。比如我们需要一个httpd的镜像来作为我们的web服务。我们可以通过码头工人搜索命令搜索httpd来寻找适合我们的镜像。
docker search httpd
拖取镜像
我们决定使用上图中的httpd官方版本的镜像,使用命令码头工人拉来下载镜像。
docker pull httpd
删除镜像
镜像删除使用码头工人rmi命令,比如我们删除hello world镜像:
,美元docker rmi hello world
创建镜像
当我们从码头工人镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。
1,从已经创建的容器中更新镜像,并且提交这个镜像
2,使用Dockerfile指令来创建一个新的镜像
更新镜像
更新镜像之前,我们需要使用镜像来创建一个容器。
runoob@runoob: ~,美元docker run -t 小姐,ubuntu: 15.10/bin/bash root@e218edb10161:/#
在运行的容器内使用apt-get更新命令进行更新。
在完成操作之后,输入出口命令来退出这个容器。
此时ID为e218edb10161的容器,是按我们的需求更改的容器。我们可以通过命令码头工人承诺来提交容器副本。
runoob@runoob: ~,美元docker commit - m=癶as update", a=皉unoob" e218edb10161 runoob/ubuntu: v2 sha256:70bf1840fd7c0d2d8ef0a42a817eb29f854c1af8f7c59fc03ac7bdee9545aff8
各个参数说明:
- <李>
- m:提交的描述信息
李> <李>——:指定镜像作者
李> <李>e218edb10161:容器ID
李> <李>runoob/ubuntu: v2:指定要创建的目标镜像名
李>构建镜像
我们使用命令码头工人建造,从零开始来创建一个新的镜像。为此,我们需要创建一个Dockerfile文件,其中包含一组指令来告诉码头工人如何构建我们的镜像。
runoob@runoob: ~,美元cat Dockerfile 得到centos: 6.7 MAINTAINER ,, Fisher “fisher@sudops.com" RUN ,,/bin/echo & # 39;根:123456 & # 39;| chpasswd RUN , useradd runoob RUN ,,/bin/echo & # 39; runoob: 123456 & # 39; | chpasswd RUN ,,/bin/echo -e “LANG=\“en_US.UTF-8 \““,在/etc/违约/当地 EXPOSE 22 EXPOSE 80 CMD ,,/usr/sbin/sshd - d
每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。
第一条,指定使用哪个镜像源
运行指令告诉码头工人在镜像内执行命令,安装了什么…
然后,我们使用Dockerfile文件,通过码头工人建造命令来构建一个镜像。
runoob@runoob: ~,美元docker build -t runoob/centos: 6.7,。 Sending build  context 用Docker daemon 17.92 kB Step 1,:得到centos: 6.7 ,,和,gt; d95b5ca17cc3 Step 2,:, MAINTAINER Fisher “fisher@sudops.com" ,,和,gt; Using 缓存 ,,和,gt; 0 c92299c6f03 Step 3,:, RUN /bin/echo & # 39;根:123456 & # 39;| chpasswd ,,和,gt; Using 缓存 ,,和,gt; 0397 ce2fbd0a Step 4,: RUN useradd runoob ……
参数说明:
- t:指定要创建的目标镜像名
。:Dockerfile文件所在目录,可以指定Dockerfile的绝对路径
使用码头工人图片查看创建的镜像已经在列表中存在,镜像ID为860 c279d2fec
runoob@runoob: ~,美元docker images REPOSITORY ,,,, TAG ,,,,,,,, IMAGE ID ,,,,, CREATED ,,,,,,的大小 runoob/centos ,,, 6.7,,,,,,,,, 860 c279d2fec ,,, About a minute ago , 190.6 MB runoob/ubuntu ,,, v2 ,,,,,,,, 70 bf1840fd7c ,,, 17, hours ago ,,,,, 158.5 MB ubuntu ,,,,,, 14.04,,,,,,,, 90 d5884b1ee0 ,,, 6, days ago ,,,,,, 188 MB php ,,,,,,,, 5.6,,,,,,,,, f40e9e0f10c8 ,,, 10, days ago ,,,,, 444.8 MB nginx ,,,,,,, latest ,,,,,, 6 f8d099c3adc ,,, 12, days ago ,,,,, 182.7 MB mysql ,,,,,,, 5.6,,,,,,,,, f2e8d6c772c0 ,,, 3, weeks ago ,,,,, 324.6 MB httpd ,,,,,,, latest ,,,,,, 02年ef73cf1bc0 ,,, 3, weeks ago ,,,,, 194.4 MB ubuntu ,,,,,, 15.10,,,,,,,, 4 e3b13c8a266 ,,, 5, weeks ago ,,,,, 136.3 MB null null null null null null null null null null null null null null null null null null码头工人和镜像的操作示例