加入收藏 | 设为首页 | 会员中心 | 我要投稿 阳江站长网 (https://www.0662zz.cn/)- 办公协同、云通信、区块链、物联平台、高性能计算!
当前位置: 首页 > 站长资讯 > 动态 > 正文

Docker中构建镜像用到的文本文档

发布时间:2021-03-13 15:34:22 所属栏目:动态 来源:互联网
导读:前两章的讲解,相信大家对于Docker的相关概念、常用命令有了基本的了解,也知道怎么从远程 Pull 一个镜像,那远程的镜像是怎么来的呢?如果我们想自己创建一个镜像又该怎么做呢?今天就来说一说Dockerfile!Dockerfile 是一个包含用户能够构建镜像的所有命令的

前两章的讲解,相信大家对于Docker的相关概念、常用命令有了基本的了解,也知道怎么从远程 Pull 一个镜像,那远程的镜像是怎么来的呢?如果我们想自己创建一个镜像又该怎么做呢?今天就来说一说Dockerfile!Dockerfile 是一个包含用户能够构建镜像的所有命令的文本文档,它有自己的语法以及命令,Docker 能够从 Dockerfile 中读取指令自动的构建镜像!

Dockerfiler的本质是一个文本文档,既然是一个文本文档,就要了解这个文档的编写规则,也就是对 Dockerfile 的语法和命令需要了解,下面就来说一说它的相关指令

定容器运行时对外暴露的端口,但是该指定实际上不会发布该端口,它的功能是镜像构建者和容器运行者之间的记录文件。

回到容器命令中的 run 命令部分,run 命令有 -p 和 -P 两个参数。

如果是 -P 就是随机端口映射,容器内会随机映射到 EXPOSE 指定的端口;如果是 -p 就是指定端口映射,告诉运维人员容器内需要映射的端口号。

这个指令与 CMD 指令类似,都是指定启动容器时要运行的命令,如果指定了 ENTRYPOINT,则 CMD 指定的命令不会执行!

在一个 Dockerfile 文件中,如果有多个 ENTRYPOINT 命令,也只有一个最后一个会生效!不同的是通过 docker run command 命令会覆盖 CMD 的命令!

执行的命令不会覆盖 ENTRYPOINT,docker run 命令中指定的任何参数都会被当做参数传递给 ENTRYPOINT!

RUN、CMD、ENTRYPOINT 区别:

---RUN 指令是在镜像构建时运行,而后两个是在容器启动时执行!

---CMD 指令设置的命令是容器启动时默认运行的命令,如果 docker run 没有指定任何的命令,并且 Dockerfile 中没有指定 ENTRYPOINT,那容器启动的时候就会执行 CMD 指定的命令!有点类似代码中的缺省参数!

---如果设置了 ENTRYPOINT 指令,则优先使用!并且可以通过 dockerrun 给该指令设置的命令传参!

(编辑:阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读