@H_404_1@ 镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。
@H_404_1@
@H_404_1@2.Docker镜像加载原理
@H_404_1@
@H_404_1@3.分层的镜像
@H_404_1@
@H_404_1@4.为什么使用分层结构
@H_404_1@ 最大的一个好处就是 - 共享资源
@H_404_1@ 比如:有多个镜像都从相同的 base 镜像构建而来,那么宿主机只需在磁盘上保存一份base镜像,同时内存中也只需加载一份 base 镜像,就可以为所有容器服务了。而且镜像的每一层都可以被共享。
@H_404_1@5.Docker镜像特点
@H_404_1@Docker镜像都是只读的当容器启动时,一个新的可写层被加载到镜像的顶部。这一层通常被称作“容器层”,“容器层”之下的都叫“镜像层”。
@H_404_1@6.docker commit
@H_404_1@语法:docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]
@H_404_1@ docker commit提交容器副本使之成为一个新的镜像。
@H_404_1@[1].运行tomcat
@H_404_1@ 从Hub上下载tomcat镜像到本地并成功运行.因为我下载的是centos6.8,所以为了兼容性我下载tomcat7.0
@H_404_1@
@H_404_1@[root@pluto ~]# docker pull tomcat:7.0.70-jre7 @H_404_1@[root@pluto ~]# docker images @H_404_1@REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE @H_404_1@Nginx latest 9fcafc113f95 3 days ago 132.6 MB @H_404_1@centos latest 375e2d4d2a24 7 days ago 215.1 MB @H_404_1@hello-world latest fd74c3615f76 7 months ago 13.34 kB @H_404_1@centos 6.8 efa3cf7ee1f9 17 months ago 194.5 MB @H_404_1@tomcat 7.0.70-jre7 dca86ad0bb53 3 years ago 357.8 MB @H_404_1@[root@pluto ~]# docker run -it -p 8888:8080 dca86ad0bb53 @H_404_1@[root@pluto ~]# docker run -it -P dca86ad0bb53 |
@H_404_1@
@H_404_1@
@H_404_1@ 故意删除上一步镜像生产tomcat容器的文档
@H_404_1@[root@pluto apache-tomcat-7.0.70]# docker ps @H_404_1@CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES @H_404_1@f03c4ec4827d dca86ad0bb53 "catalina.sh run" 5 minutes ago Up 5 minutes 0.0.0.0:32768->8080/tcp grave_torvalds @H_404_1@17c2ee9ceeb5 centos:6.8 "/bin/bash" 44 minutes ago Up 44 minutes high_banach @H_404_1@[root@pluto apache-tomcat-7.0.70]# docker exec -it f03c4ec4827d /bin/bash @H_404_1@ @H_404_1@root@f03c4ec4827d:/usr/local/tomcat/webapps# pwd @H_404_1@/usr/local/tomcat/webapps @H_404_1@root@f03c4ec4827d:/usr/local/tomcat/webapps# rm -rf docs |
@H_404_1@
@H_404_1@[3].创建新镜像
@H_404_1@ 即当前的tomcat运行实例是一个没有文档内容的容器,以它为模板commit一个没有doc的tomcat新镜像atguigu/tomcat02
@H_404_1@[root@pluto ~]# docker images @H_404_1@REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE @H_404_1@tomcat 7.0.70-jre7 dca86ad0bb53 3 years ago 357.8 MB @H_404_1@ @H_404_1@[root@pluto ~]# docker commit -a "pluto" -m="tomcat remove docs" f03c4ec4827d pluto/tomcat:7.0.70-pluto @H_404_1@f77d4ea48ed4da175e94b18b2e7b6f92bf9dc5afbd3b528ffd5d8858f032202f @H_404_1@ @H_404_1@[root@pluto ~]# docker images @H_404_1@REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE @H_404_1@pluto/tomcat 7.0.70-pluto f77d4ea48ed4 9 seconds ago 357.9 MB @H_404_1@tomcat 7.0.70-jre7 dca86ad0bb53 3 years ago 357.8 MB @H_404_1@ @H_404_1@ @H_404_1@[root@pluto ~]# docker run -it -p 8888:8080 pluto/tomcat:7.0.70-pluto |
@H_404_1@
@H_404_1@[4].对比
@H_404_1@
@H_404_1@
@H_404_1@