温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

docker制作成镜像的方法介绍

发布时间:2021-09-07 11:22:32 来源:亿速云 阅读:177 作者:chen 栏目:建站服务器

本篇内容主要讲解“docker制作成镜像的方法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker制作成镜像的方法介绍”吧!

docker制作镜像一般有三个方法:1.基于容器制作;2.基于dockerfile实现,镜像制作的程序文件;3.Docker Hub Automated Builds。这里我们来介绍下基于容器制作镜像。

举例来说,启动干净的镜像文件busybox,然后再容器内创建httpd的根目录和index.html文件,然后制作成行的镜像。

启动容器,名称为sunny01img

docker run -it --name sunny01img busybox:sunny01
#在容器内进行修改
/ # mkdir -p /web/html
/ # cd /web/html
/web/html # vi index.html
<h2>this is sunny docker image,it is a nice day!<\h2>

在另一个终端,执行如下命令

docker commit -a "sunny<sunny@sunny.docker>" -p -m "for test commit image" sunny01img

用命令查看新生成的镜像

docker images

查看到有tag为none的新生成的镜像

然后将镜像推送到云服务商的镜像仓库中,使用新的镜像来启动容器

新建一个标签

docker tag 3498bc48a842 websrv:sunnyweb01

将新的镜像websrv:sunnyweb01 运行为守护模式(-d,即后台),然后指定进程为httpd,前端运行模式(-f),指定家目录为/web/html

docker run --name sunnyweb01 -d websrv:sunnyweb01 httpd -f -h /web/html

查看

docker ps

查看到websrv:sunnyweb01镜像运行为容器sunnyweb01.

查看进程信息

docker top sunnyweb01

查看详细容器信息

docker inspect sunnyweb01

查看到当前的容器ip,测试httpd的服务

改变容器的默认启动命令

在第一版新建镜像websrv:sunnyweb01的基础上创建第二版的镜像,在另一个终端上,不执行默认的cmd,而是默认启动httpd服务

首先,先启动镜像,进入cmd,执行相关命令

docker run --name sunnyweb02 -it websrv:sunnyweb01

打开另一个shell终端,执行如下命令,生成一个新的镜像

docker commit -a "sunny <sunny@ghnsunny.cn>" -p -m "web server" -c 'CMD ["/bin/httpd","-f","-h","/web/html"]' sunnyweb02

注意 -c,修改运行中的命令,后接一个字典,所有的字段都要分别传递,用引号引用,逗号隔开,否则参数传递失败,导致镜像不能启动。

sunnyweb02是指当前要作为镜像的模板容器名称,如这里以sunnyweb02这个容器作为模板来创建新镜像

给新生成的镜像打标签,将新生成的镜像推送到云仓库

启动镜像,容器名称为web2.0,并且运行在后台(-d)

测试,查看容器是否正常运行

docker ps

查看容器的ip

docker inspect web2.0

测试httpd服务

这个例子说明,制作镜像是可以-c改变默认的命令,而不是默认的sh命令,可以让容器基于新建镜像启动时运行指定的命令。

到此,相信大家对“docker制作成镜像的方法介绍”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI