docker 笔记5

2019-07-17  本文已影响0人  光小月

利用commit 理解镜像构成

当我们运行一个容器的时候(如果不使用卷的话),我们做的任何文件修改都会被记录于容器存储层里。而 Docker 提供了一个 docker commit 命令,可以将容器的存储层保存下来成为镜像。换句话说,在原有镜像的基础上,再叠加上容器的存储层,并构成新的镜像。以后我们运行这个新镜像的时候,就会拥有原有容器最后的文件变化。

命令:

docker commit \
-m "修改了" \
webserver \
nginx:v2

此时将运行的容器保存为新的镜像

慎用 docker commit, 如果这样操作,将会导致镜像极为臃肿。

使用dockerfile定制镜像

新建dockerFile文件

mkdir mynginx
cd mynginx
touch Dockerfile
-------------------
FROM  nginx
RUN echo '<h1>hello, Docker!</h1>' > /usr/share/nginx/html/index.html
-------------------

FROM 指定基础镜像
FROM scratch 意味着你不以任何镜像为基础

RUN 执行命令
两种格式:

构建镜像

docker build -t nginx:v3 .
(nginx:v3 是将镜像的名和tag)
docker build 命令会将该目录下的内容打包交给 Docker 引擎以帮助构建镜像。
Docker 引擎, Docker 在运行时分为 Docker 引擎(也就是服务端守护进程)和客户端工具。Docker 的引擎提供了一组 REST API,被称为 Docker Remote API

其它 docker build 的用法

1.1 直接用 Git repo 进行构建

docker build https://github.com/twang2218/gitlab-ce-zh.git#:11.1

1.2 用给定的 tar 压缩包构建

docker build http://server/context.tar.gz

1.3 从标准输入中读取 Dockerfile 进行构建

docker build - < Dockerfile

1.4 从标准输入中读取上下文压缩包进行构建

docker build - < context.tar.gz

PS: 若你觉得可以、还行、过得去、甚至不太差的话,可以“关注”一下,就此谢过!

上一篇 下一篇

猜你喜欢

热点阅读