一、创建镜像
在现有镜像的基础上启动一个容器
[root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos centos7 7322fbe74aa5 6 days ago 172.2 MB centos centos6.6 8b44529354f3 9 weeks ago 202.6 MB [root@docker ~]# docker run -t -i centos:centos6.6 /bin/bash [root@06ba542f19c9 /]# hostname 06ba542f19c9 #这个是容器ID,唯一值
在容器中添加一个httpd服务
[root@06ba542f19c9 /]# rpm -qa |grep httpd [root@06ba542f19c9 /]# yum install httpd -y [root@06ba542f19c9 /]# rpm -qa |grep httpd httpd-tools-2.2.15-39.el6.centos.x86_64 httpd-2.2.15-39.el6.centos.x86_64 [root@06ba542f19c9 /]# exit exit
在我们使用exit退出后,容器已经被我们改变了,使用docker commit来提交新的信息
[root@docker ~]# docker commit -m "add httpd" -a "root" 06ba542f19c9 centos:centos6.6_v1 ae2ffc5dbfcc7944a624c55bc081b9514c83b420450d1ea9c67afc0b677bd686 #-m 来指定提交的说明信息 #-a 可以指定更新的用户信息 #06ba542f19c9 这是我们上面启动容器后生成的ID #centos:centos6.6_v1 前面的一部分表示那个repo,后面的一部分表示TAG #查看提交后的结果 [root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos centos6.6_v1 ae2ffc5dbfcc 9 seconds ago 274.2 MB centos centos7 7322fbe74aa5 6 days ago 172.2 MB centos centos6.6 8b44529354f3 9 weeks ago 202.6 MB
我们使用新创建的镜像来启动容器
[root@docker ~]# docker run -t -i centos:centos6.6_v1 /bin/bash [root@5fc242e53248 /]# hostname 5fc242e53248 [root@5fc242e53248 /]# rpm -qa |grep httpd #在前面添加的httpd也存在 httpd-tools-2.2.15-39.el6.centos.x86_64 httpd-2.2.15-39.el6.centos.x86_64
在上面的例子中我们是使用的docker commit来创建的镜像,下面我们使用dockerfile来创建镜像
本文出自 “ly36843运维” 博客,请务必保留此出处http://ly36843.blog.51cto.com/3120113/1665549
原文地址:http://ly36843.blog.51cto.com/3120113/1665549