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

    利用 commit 理解镜像构成

     基础知识

    镜像是容器的基础,每次执行 docker run 的时候都会指定哪个镜像作为容器运行的基础。在之前的例子中,我们所使用的都是来自于 Docker Hub 的镜像。直接使用这些镜像是可以满足一定的需求,而当这些镜像无法直接满足需求时,我们就需要定制这些镜像。接下来的几节就将讲解如何定制镜像。

    回顾一下之前我们学到的知识,镜像是多层存储,每一层是在前一层的基础上进行的修改;而容器同样也是多层存储,是在以镜像为基础层,在其基础上加一层作为容器运行时的存储层。

     首先让我们创建一个容器

    docker run --name webserver -d -p 80:80 nginx

    其中--name 指定容器的名称 

    -d 参数指定应用程序为后台运行,

    -p 参数映射端口

    nginx说明采用nginx镜像。

    成功后返回容器id

     此时我们打开浏览器访问我们的80端口就会出现默认的nginx访问页

    进入容器,修改我们的nginx主页

    docker exec -it cnblogServer bash
    echo '<h1>Hello.This is my first docker app!</h1>' > /usr/share/nginx/html/index.html 

    重新刷新网页,即可显示最新结果

     

    查看我们对容器进行了何种操作和用如下命令

    docker diff 容器名字
    

    目前为止,我们就定制好了一个镜像。现在我们用commit进行提交

     查看镜像

    其中 --author 指定作者信息,message指定你的行为   cnblogServer为你指定的容器  nginx:dxz 指定  仓库和TAG

    查看该镜像的历史记录可以发现我们提交的版本

    docker history nginx:dxz
    

     现在,让我们用我们定制的镜像创造一个容器吧~

    docker run --name web2 -d -p 81:80 nginx:dxz
    
    docker ps
    

     现在让我们访问我们新创建的容器

     成功!

    不忘初心,方得始终,以梦为马,不负韶华
  • 相关阅读:
    13.2 抽像类与体类(Abstract & Concrete Classes) 简单
    13.3 深度隔离的界面(Deeply Parted interface) 简单
    计算天数(C++)_学习 简单
    13.1.2 纯虚函数(Pure Virutal Functions) 简单
    C++ operator关键字(重载操作符) 简单
    二月一共多少天 简单
    重载运算符操作_学习 简单
    计算两个日期之间的天数(C++) 简单
    1.2 连接信号和响应函数 简单
    用Android手机做台式机无线网卡
  • 原文地址:https://www.cnblogs.com/newz/p/11745247.html
Copyright © 2011-2022 走看看