zoukankan      html  css  js  c++  java
  • Docker镜像

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

    1.UnionFS(联合文件系统)

     

    2.Docker镜像加载原理

     

    3.分层的镜像

     

    4.为什么使用分层结构

      最大的一个好处就是 - 共享资源

      比如:有多个镜像都从相同的 base 镜像构建而来,那么宿主机只需在磁盘上保存一份base镜像,同时内存中也只需加载一份 base 镜像,就可以为所有容器服务了。而且镜像的每一层都可以被共享。

    5.Docker镜像特点

    Docker镜像都是只读的当容器启动时,一个新的可写层被加载到镜像的顶部。这一层通常被称作“容器层”,“容器层”之下的都叫“镜像层”。

    6.docker commit

    语法:docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]

      docker commit提交容器副本使之成为一个新的镜像。

    [1].运行tomcat

      Hub上下载tomcat镜像到本地并成功运行.因为我下载的是centos6.8,所以为了兼容性我下载tomcat7.0

     

    [root@pluto ~]# docker pull tomcat:7.0.70-jre7

    [root@pluto ~]# docker images

    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

    nginx               latest              9fcafc113f95        3 days ago          132.6 MB

    centos              latest              375e2d4d2a24        7 days ago          215.1 MB

    hello-world         latest              fd74c3615f76        7 months ago        13.34 kB

    centos              6.8                 efa3cf7ee1f9        17 months ago       194.5 MB

    tomcat              7.0.70-jre7         dca86ad0bb53        3 years ago         357.8 MB

    [root@pluto ~]# docker run -it -p 8888:8080 dca86ad0bb53

    [root@pluto ~]# docker run -it -P dca86ad0bb53

     

     

    [2].删除tomcat文档

      故意删除上一步镜像生产tomcat容器的文档

    [root@pluto apache-tomcat-7.0.70]# docker ps

    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES

    f03c4ec4827d        dca86ad0bb53        "catalina.sh run"   5 minutes ago       Up 5 minutes        0.0.0.0:32768->8080/tcp   grave_torvalds      

    17c2ee9ceeb5        centos:6.8          "/bin/bash"         44 minutes ago      Up 44 minutes                                 high_banach         

    [root@pluto apache-tomcat-7.0.70]# docker exec -it f03c4ec4827d /bin/bash

     

    root@f03c4ec4827d:/usr/local/tomcat/webapps# pwd

    /usr/local/tomcat/webapps

    root@f03c4ec4827d:/usr/local/tomcat/webapps# rm -rf docs

     

    [3].创建新镜像

      即当前的tomcat运行实例是一个没有文档内容的容器,以它为模板commit一个没有doc的tomcat新镜像atguigu/tomcat02

    [root@pluto ~]# docker images

    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

    tomcat              7.0.70-jre7         dca86ad0bb53        3 years ago         357.8 MB

     

    [root@pluto ~]# docker commit -a "pluto" -m="tomcat remove docs" f03c4ec4827d pluto/tomcat:7.0.70-pluto

    f77d4ea48ed4da175e94b18b2e7b6f92bf9dc5afbd3b528ffd5d8858f032202f

     

    [root@pluto ~]# docker images

    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

    pluto/tomcat        7.0.70-pluto        f77d4ea48ed4        9 seconds ago       357.9 MB

    tomcat              7.0.70-jre7         dca86ad0bb53        3 years ago         357.8 MB

     

     

    [root@pluto ~]# docker run -it -p 8888:8080  pluto/tomcat:7.0.70-pluto

     

    [4].对比

     

     

     

  • 相关阅读:
    链队列的实现
    LeetCode——Count Complete Tree Nodes
    LeetCode——Lowest Common Ancestor of a Binary Search Tree
    LeetCode——Palindrome Linked List
    中文乱码问题及其解决办法
    LeetCode——Valid Anagram
    TCP/IP网络知识点总结
    深入理解javascript原型和闭包——从【自由变量】到【作用域链】
    AJAX笔试面试题汇总
    前端开发面试知识点大纲
  • 原文地址:https://www.cnblogs.com/HOsystem/p/13850055.html
Copyright © 2011-2022 走看看