Docker镜像

前端之家收集整理的这篇文章主要介绍了Docker镜像前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_404_1@  镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容包括代码、运行时、库、环境变量和配置文件

@H_404_1@1.UnionFS(联合文件系统)

@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@[2].删除tomcat文档

@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@ 

猜你在找的Docker相关文章