通过本文你会获得什么

熟悉Dockerfile中ENTRYPOINT和CMD指令之间的区别,以及在实际项目中的使用建议。

1 - 开始前准备

首先你要有个docker环境,以下实验基于:docker 18.09,以及alpine:3.8镜像。

下载基础镜像

docker pull alpine:3.8

2 - ENTRYPOINT与CMD指令

* CMD: 指定容器启动时所运行的可执行程序与参数。

* ENTRYPOINT: 指定容器启动时所运行的可执行程序与参数。

你没看错,他们从根本上来说实际产生的作用一样,这里有以下几个规则:

1. 最多只能设置一个ENTRYPOINT与一个CMD,如果设置多个,均最后一个生效。

2. 当容器设计为一个服务端时(微服务),使用ENTRYPOINT指令指定可执行文件,使用CMD指令指定默认参数。

3. 当容器设计为一个客户端时(工具等),使用CMD指令指定可执行文件与其参数。

4. CMD指令中的参数可允许被交互时覆盖,也就是可以在docker run中覆盖的参数。

5. 支持两种编写风格(EXEC与SHELL),均建议使用EXEC风格编写

6. 设置在ENTRYPOINT指令中的可执行程序与参数,当容器启动时,优先级高于CMD。

7. 如果父镜像的Dockerfile定义了CMD,设置ENTRYPOINT会清空父镜像CMD指令。

3 - 两种编写风格

存在两种风格,分别为EXEC形式与SHELL形式。

* EXEC风格:为一个数组,需使用双引号隔开

CMD ["executable

docker 覆盖 entrypoint_最佳实践,Dockerfile中ENTRYPOINT与CMD指令的区别与建议相关推荐

  1. dockerfile 中 ENTRYPOINT 和 CMD的区别

    大家好,在dockerfile当中, ENTRYPOINT 和CMD的作用于效果是很类似的 我们今天就来说一下它们两者的区别 ENTRYPOINT:指定这个启动的时候启动的时候要运行的命令,可以被替代 ...

  2. docker 根据标签删除镜像_10 个 Docker 镜像安全最佳实践

    <Docker 镜像安全最佳实践速查表[1]>列举了 10 个诀窍和指南,确保更安全和更高质量的 Docker 镜像处理.此外,还可以检视有关 Docker 安全的新报告<Docke ...

  3. Docker系列之八:在Dockerfile中使用多段构建Muti-stage build

    系列链接 Docker系列之一:Docker介绍及在Ubuntu上安装 Docker系列之二:Docker 入门 Docker系列之三:使用Docker镜像和仓库 Docker系列之四:Dockerf ...

  4. Docker 启动 MySQL 最佳实践

    Docker 启动 MySQL 最佳实践 本文主要介绍使用 Docker 启动 MySQL 服务的最佳实践,Docker 镜像来自 docker 官方镜像. 启动一个 MySql 5.7 实例 关于版 ...

  5. docker 覆盖 entrypoint_跟我一起学docker(八)--Dockerfile

    1.利用Dockerfile创建镜像 什么是Dockerfile? 定义:Dockerfile是一个文本格式的配置文件,用户可以使用Dockerfile快速创建自定义镜像. 基本结构: Dockerf ...

  6. Docker学习总结(58)——Dockerfile中,ADD和COPY的区别?

    Dockerfile中的COPY指令和ADD指令都可以将主机上的资源复制或加入到容器镜像中,都是在构建镜像的过程中完成的.COPY指令和ADD指令的唯一区别在于是否支持从远程URL获取资源.COPY指 ...

  7. 《AngularJS深度剖析与最佳实践》一2.6 指令

    本节书摘来自华章出版社<AngularJS深度剖析与最佳实践>一书中的第2章,第2.6节,作者 雪狼 破狼 彭洪伟,更多章节内容可以访问云栖社区"华章计算机"公众号查看 ...

  8. Spring cloud 微服务docker容器化最佳实践

    Spring cloud 是当下最炙手可热的微服务套件,我们将介绍如何整合Docker容器达到高效快捷的构建发布 采用了dockerfile-maven-plugin插件发布镜像到远程docker主机 ...

  9. Docker日志收集最佳实践

    传统日志处理 说到日志,我们以前处理日志的方式如下: · 日志写到本机磁盘上 · 通常仅用于排查线上问题,很少用于数据分析 ·需要时登录到机器上,用grep.awk等工具分析 那么,这种方式有什么缺点 ...

最新文章

  1. iOS UIButton 文字图片上下左右布局
  2. The Minimum Cycle Mean in a Digraph 《有向图中的最小平均权值回路》 Karp
  3. 修改所有列_宝塔面板安装完的一些列操作
  4. Azure Lambda Function创建失败 - 400 bad request和成功 - 201 Created
  5. python分析数据差异的方法_用Python的两种方法进行方差分析
  6. Android 帧动画,加载动画,AnimationDrawable,仿京东加载动画
  7. UVA 12501 Bulky process of bulk reduction ——(线段树成段更新)
  8. 第二冲刺阶段绩效评估
  9. markdown格式的文章如何转换为可以发布在微信公众号上的内容
  10. delphi madExcept使用指南
  11. alc662声卡注入id_使用Clover 开启ALC662声卡原生AppleHDA驱动
  12. 邮件营销技巧和经验分享
  13. 小案例:王者荣耀战力查询系统(免费调用外部接口
  14. 记一次rk平台热点打开流程追踪记录
  15. STM32F407ZGT6的OLEDIIC的实现(全代码)
  16. PyCharm 提示PEP 8: E302 expected 2 blank lines, found 1
  17. 100天精通Python丨基础知识篇 —— 02、Python和Pycharm(语言特点、学习方法、工具安装)
  18. Hexo图片外链生成专用文章
  19. [Alpha阶段]第十次Scrum Meeting
  20. 考研日语线上笔记(三):初级日语语法总结20课

热门文章

  1. 【PHP】xampp配置多个监听端口和不同的网站目录(转)
  2. Android开始之 activity_lifecycle和现场保护
  3. 一直以来都没直视的轮播-_-
  4. RoRoWoBlog 开源博客系统介绍
  5. 推荐21个顶级的Vue UI库! – TalkingData‘s Blog
  6. iTerm2 快捷键
  7. javascript --- Object.create的阅读
  8. 算法 --- 平衡二叉树
  9. sql中的left join、right join、inner join
  10. Go语言在扫码支付系统中的成功实践