docker中CMD和ENTRYPOINT区别

 更新时间:2023年04月21日 10:45:12   作者:爱上口袋的天空  
本文主要介绍了docker中CMD和ENTRYPOINT区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

ENTRYPOINT 简介

ENTRYPOINT 容器启动后执行的命令,让容器执行表现的像一个可执行程序一样,与CMD 的 区 别 是 不 可 以 被 docker run 覆 盖 , 会 把 docker run 后 面 的 参 数 当 作 传 递 给
ENTRYPOINT 指令的参数。

Dockerfile 中只能指定一个 ENTRYPOINT,如果指定了很多,只 有 最 后 一 个 有 效 。 docker run 命 令 的 -entrypoint 参 数 可 以 把 指 定 的 参 数 继 续 传 递 给ENTRYPOINT

clipboard.png

CMD简介

clipboard.png

案例(下面基于centos这个基础镜像构建一个镜像测试CMD命令)

1)在/opt/dockerfile目录下创建一个Dockerfile文件     

#基于我们从阿里云下载下来的centos基础镜像
FROM centos
CMD ["/bin/echo","this is test cmd"]

2)使用dockerfile构建镜像

命令:docker build -f /opt/dockerfile/mydockerfile-test -t cmdtest:v1.0 .

3)启动刚刚创建的镜像

命令:docker run -it 镜像id

可以看到,/bin/echo This is test cmd 这条命令成功执行.

直接进入container里面,而不执行echo指令,可以在docker run 后面直接加上/bin/bash命令,/bin/bash命令会覆盖掉cmd后面的命令。

/bin/bash 命令覆盖掉了dockerfile中的cmd命令,直接进入到了container中。

案例(下面基于centos这个基础镜像构建一个镜像测试ENTRYPOINT命令)

1)在/opt/dockerfile目录下创建一个Dockerfile文件    

#基于我们从阿里云下载下来的centos基础镜像
FROM centos
 
ENTRYPOINT ["/bin/echo","this is test entrypoint"]

2)使用dockerfile构建镜像

3)启动刚刚创建的镜像

a: 直接在docker run 后面加参数/bin/bash,entrypoint会把/bin/bash当成一个echo的字符串参数,不会进入到容器中。      

b: 如果想覆盖dockerfile中entrypoint指令,可以在docker run命令中加--entrypoint参数来指定。

可以发现不打印上面的内容了,直接进入容器

c:直接启动容器

 到此这篇关于docker中CMD和ENTRYPOINT区别的文章就介绍到这了,更多相关docker CMD和ENTRYPOINT内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅谈docker运行nginx为什么要使用daemon off

    浅谈docker运行nginx为什么要使用daemon off

    这篇文章主要介绍了浅谈docker运行nginx为什么要使用daemon off,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Docker Compose部署Nginx的方法步骤

    Docker Compose部署Nginx的方法步骤

    本文主要介绍了Docker Compose部署Nginx的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Docker开启远程访问的实现方式

    Docker开启远程访问的实现方式

    这篇文章主要介绍了Docker开启远程访问的实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 用Docker搭建nextcloud个人网盘教程

    用Docker搭建nextcloud个人网盘教程

    大家好,本篇文章主要讲的是用Docker搭建nextcloud个人网盘教程,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2021-12-12
  • IDEA使用Docker插件(菜鸟教程)

    IDEA使用Docker插件(菜鸟教程)

    本文主要介绍了IDEA使用Docker插件,文中通过图文示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 在Docker中开发Java 8 Spring Boot应用程序的方法

    在Docker中开发Java 8 Spring Boot应用程序的方法

    在本文中,我将向您展示如何使用Java 8开发和运行简单的Spring Web应用程序,而无需在本地计算机上安装Java 8。感兴趣的朋友跟随小编一起看看吧
    2019-10-10
  • 一台虚拟机基于docker搭建大数据HDP集群的思路详解

    一台虚拟机基于docker搭建大数据HDP集群的思路详解

    这篇文章主要介绍了一台虚拟机基于docker搭建大数据HDP集群 ,本篇文章主要讲了大数据集群搭建的架构设计和实现思路部分,后面文章会探讨上层应用的构建,需要的朋友可以参考下
    2022-11-11
  • 如何进入、退出docker的container实现

    如何进入、退出docker的container实现

    这篇文章主要介绍了如何进入、退出docker的container实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Docker底层技术Namespace Cgroup应用详解

    Docker底层技术Namespace Cgroup应用详解

    在本篇文章里小编给大家整理的是关于Docker底层技术Namespace Cgroup应用的相关知识点,需要的朋友们学习下。
    2019-10-10
  • Docker Cloud实现部署应用操作详解

    Docker Cloud实现部署应用操作详解

    这篇文章主要介绍了Docker Cloud实现部署应用操作,较为详细的分析了Docker Cloud部署应用的步骤、命令、实现方法及相关操作注意事项,需要的朋友可以参考下
    2018-06-06

最新评论