当前位置:   article > 正文

Docker-理解镜像构成

docker 镜像由那些组成
  1. 我们之前就了解到了,docker的镜像并非是一个整体镜像,而是一个分层存储,每一层都是在前一层的基础上进行的修改,而容器也是这样的,是多层存储的
  2. 我们现在来启动一个镜像

    $ docker run --name webnginx -d -p 80:80 nginx
    • -p:表示将容器内的80端口映射到物理机的80端口
    • -d:后台运行
  3. 当运行起来后,我们浏览器访问 localhost,会看到nginx的标志

markdown_img_paste_20190308155945410

  1. 到这我们是对刚拉下来的镜像我们没有任何的修改,现在我们将对nginx的欢迎界面进行初始化
  2. docker进入容器更改nginx配置文件

    1. $ docker exec -it webnginx bash
    2. $ root@b5c597a4f124:/# echo '<h1>HELLO DOCKER<h1/>' > /usr/share/nginx/html/index.html
    3. $ docker restart webnginx
  3. 再次访问localhost,会看到我们更改后的信息

markdown_img_paste_20190308160629969

  1. 到这我们就已经开始更改了容器内的/usr/share/nginx/html/index.html文件,这就会造成现在的镜像和之前的镜像的存储层已经发生了改变,docker也可以检测到这个更改
  2. docker 检测差异

    1. [qidai@qidai-pc ~]$ docker diff webnginx
    2. C /run
    3. A /run/nginx.pid
    4. C /usr
    5. C /usr/share
    6. C /usr/share/nginx
    7. C /usr/share/nginx/html
    8. C /usr/share/nginx/html/index.html
    9. C /var
    10. C /var/cache
    11. C /var/cache/nginx
    12. A /var/cache/nginx/client_temp
    13. A /var/cache/nginx/fastcgi_temp
    14. A /var/cache/nginx/proxy_temp
    15. A /var/cache/nginx/scgi_temp
    16. A /var/cache/nginx/uwsgi_temp
    17. C /root
    18. A /root/.bash_history
  3. 上面除了cache的改变和pid文件的创建,发生更改的文件已经显而易见了
  4. 目前就是在原有刚拉取过来的镜像的基础上发生了一层改变,并形成了一个新的镜像,如果现在这个nginx的欢迎界面正是我们需要的,我们就可以将此镜像进行保存
  5. 如下是我画的一个图,相信到这我们就很直观的理解了docker是一层层的存储层的变化来构成一个dcoker镜像

markdown_img_paste_20190309103957931

  1. 对于docker镜像的保存,下面说
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/73914
推荐阅读
相关标签
  

闽ICP备14008679号