今天小编给大家分享的是docker将容器做出镜像的代码,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。
为工布江达等地区用户提供了全套网页设计制作服务,及工布江达网站建设行业解决方案。主营业务为网站制作、网站设计、工布江达网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!做出镜像可以使用commit命令或dockerfile的方式,commit命令比较简单,相当于docker根据container内部执行的命令自动生成dockerfile,并进行了build,比较适合对dockerfile不熟悉的用户;dockerfile比较适合批量处理的场景。
使用docker commit命令做镜像
1. pull一个centos6.6的基础镜像,并运行一个docker container,然后在其中进行定制化(安装、配置服务等);
[root@localhost ~]# docker pull centos:6.6 Pulling repository centos 8b44529354f3: Download complete f1b10cd84249: Download complete Status: Downloaded newer image for centos:6.6 [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos 6.6 8b44529354f3 4 days ago 202.6 MB centos centos6.6 8b44529354f3 4 days ago 202.6 MB [root@localhost ~]# docker run -i -t centos:6.6 bash [root@b42c1ba929a9 /]# ls bin dev etc home lib lib64 lost+found media mnt opt proc root sbin selinux srv sys tmp usr var [root@b42c1ba929a9 /]# mkdir /tmp/test.txt [root@b42c1ba929a9 /]# exit exit
接下来,查看一下container的改动:
[root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b42c1ba929a9 centos:6.6 "bash" About a minute ago Exited (0) 22 seconds ago berserk_mcclintock 804a56ce8008 f1b10cd84249 "/bin/echo hello" 22 minutes ago test [root@localhost ~]# docker diff b42c1ba929a9 C /tmp A /tmp/test.txt C /root A /root/.bash_history
2. 执行docker commit命令创建一个镜像:
[root@localhost ~]# docker commit -m "new container" b42c1ba929a9 yuanhuan/newcontainer1 07b146e0be9e98c253122784c3837dd1604f7692e794f3601dad747d41901cd4 [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE yuanhuan/newcontainer1 latest 07b146e0be9e 43 seconds ago 202.6 MB centos 6.6 8b44529354f3 4 days ago 202.6 MB centos centos6.6 8b44529354f3 4 days ago 202.6 MB
3. 登录docker,并将该镜像push到docker仓库:
[root@localhost ~]# docker login Username: yuanhuan Password: Email: yuanhuan_2005@126.com Login Succeeded [root@localhost ~]# docker push yuanhuan/newcontainer1 The push refers to a repository [yuanhuan/newcontainer1] (len: 1) Sending image list Pushing repository yuanhuan/newcontainer1 (1 tags) f1b10cd84249: Image already pushed, skipping 8b44529354f3: Image already pushed, skipping 07b146e0be9e: Image successfully pushed Pushing tag for rev [07b146e0be9e] on {https://cdn-registry-1.docker.io/v1/repositories/yuanhuan/newcontainer1/tags/latest}
关于docker将容器做出镜像的代码就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。