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

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

 

 成功!

 

相关文章

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一...
本地项目配置 1 复制 luffy/settings/dev.py为prop.py 修改l...
nginx不仅可以隐藏版本信息,还支持自定义web服务器信息 先看...
一 、此次漏洞分析 1 nginx HTTP/2漏洞 [nginx-announce] ng...
###进入nginx 目录cd /usr/local/nginx###递归显示 2 级目录...
在cmd命令窗口输入下面命令进行查看 tasklist /fi "ima...