48-Dockerfile-CMD/ENTRYPOINT指令

这篇具有很好参考价值的文章主要介绍了48-Dockerfile-CMD/ENTRYPOINT指令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

  • 本篇来学习下Dockerfile中的CMD/ENTRYPOINT指令

CMD

作用
  • 启动容器时默认执行的命令

说明:

  • 一个 Dockerfile 只有一个 CMD 指令,只有最后一个 CMD 指令生效
  • 使用 docker run -d xxx CMD 命令是可以覆盖 Dockerfile 中的 CMD 指令的
格式
# exec 方式, 首选方式  CMD ["可执行命令", "参数1", "参数2"...]
CMD ["executable","param1","param2"]

# 为 ENTRYPOINT 提供默认参数
CMD ["param1","param2"]

# shell 形式  CMD 命令 参数1  参数2
CMD command param1 param2
使用示例
  • 新建dockerfile
FROM ubuntu
#  CMD 和 ENTRYPOINT 作为唯一入口,写多个,只有最后一个生效
# shell方式
CMD ping bing.com

# exec方式
CMD [ "sh", "-c", "echo $HOME" ]
  • 制作镜像
docker build -t test --force-rm --no-cache .
  • 运行容器
# --rm 表示容器退出,自动删除
docker run -it --rm test
  • 可以看到只执行了后面的echo $HOME,没执行ping 命令
    48-Dockerfile-CMD/ENTRYPOINT指令

ENTRYPOINT

作用

  • 指定镜像的默认入口命令,该入口命令会在启动容器时作为根命令执行,所有其他传入值作为该命令的参数

说明:

  • 一个 Dockerfile 只有一个 ENTRYPOINT 指令,只有最后一个 ENTRYPOINT 指令生效

格式

# exec 格式
ENTRYPOINT ["executable", "param1", "param2"]

# shell 格式
ENTRYPOINT command param1 param2

使用示例

  • 新建dockerfile
FROM ubuntu
#  CMD 和 ENTRYPOINT 作为唯一入口,写多个,只有最后一个生效
# shell方式
ENTRYPOINT ping baidu.com
# exec方式
ENTRYPOINT [ "sh", "-c", "echo $HOME" ]
  • 制作镜像
docker build -t test --force-rm --no-cache .
  • 运行容器
docker run -it --rm test

48-Dockerfile-CMD/ENTRYPOINT指令

CMD/ENTRYPOINT区别

  • CMD :指定这个容器启动的时候要运行的命令,会覆盖原命令,不可以追加命令
  • ENTRYPOINT :指定这个容器启动的时候要运行的命令,可以追加命令
CMD使用示例
  • dockerfile
FROM ubuntu
CMD ["ls","-a"]
  • 制作镜像
docker build -t test --force-rm --no-cache .
  • 运行容器
# 覆盖 ls -a; -l命令是不存在的,所以会报错
docker run -it --rm test -l

48-Dockerfile-CMD/ENTRYPOINT指令

ENTRYPOINT使用示例
  • dockerfile
FROM ubuntu
ENTRYPOINT ["ls","-a"]
  • 制作镜像
docker build -t test --force-rm --no-cache .
  • 运行容器
# 会追加命令 相当于执行  ls  -a -l
docker run -it --rm test -l

48-Dockerfile-CMD/ENTRYPOINT指令
`文章来源地址https://www.toymoban.com/news/detail-440056.html

到了这里,关于48-Dockerfile-CMD/ENTRYPOINT指令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Dockerfile(5) - CMD 指令详解

    指定容器默认执行的命令 重点 一个 Dockerfile 只有一个 CMD 指令,若有多个,只有最后一个 CMD 指令生效 CMD 主要目的:为容器提供默认执行的命令,这个默认值可以包含可执行文件 也可以不包含可执行文件,意味着必须指定 ENTRYPOINT 指令(第二种写法) exec 模式下使用环境变

    2024年03月23日
    浏览(43)
  • Dockerfile——ENTRYPOINT详解

      Entrypoint的作用是,把整个container变成了一个可执行的文件,这样不能够通过替换CMD的方法来改变创建container的方式。但是可以通过参数传递的方法影响到container内部。 ENTRYPOINT 有两种格式: ENTRYPOINT [“executable”, “param1”, “param2”] (exec 格式,首选) ENTRYPOINT command param

    2024年02月08日
    浏览(38)
  • Dockerfile ENTRYPOINT 使用变量

    如下 Dockerfile 文件中: 本意是想在 entrypoint 执行的命令中添加变量参数 JAVA_OPTS 和 PARAMS,如果按照这样写,变量是不被解析的,会报错。 那么正确的写法是使用 sh -c 命令来执行后面的命令,示例如下: (END)

    2024年02月16日
    浏览(39)
  • docker: CMD和ENTRYPOINT的区别

    ENTRYPOINT: 容器的执行命令(属于正统命令) 可以使用 --build-arg ENVIROMENT=integration 参数覆盖 ocker build --build-arg ENVIROMENT=integration 两者同时存在时 CMD 作为 ENTRYPOINT 的默认参数使用 外部提供参数会覆盖 CMD 提供的参数。 CMD单独存在时 CMD 替代 ENTRYPOINT 作为容器的执行命令 外部命

    2024年02月14日
    浏览(56)
  • docker的run,cmd,entrypoint分析和对比

    本文一起看下Dockerfile中经常用到的几个类似命令,RUN,CMD,ENTRYPOINT。 想要有容器我们就必须先创建镜像,而想要有镜像,我们则必须写一个用来描述想要创建的镜像的文件,这个文件我们一般叫做Dockerfile (非强制) ,则容器怎么来的就如下图: 经过上图的 过程1 我们就有

    2024年02月01日
    浏览(36)
  • Docker中,CMD 和 ENTRYPOINT 的区别,简单!明了!

    目录 CMD 和 ENTRYPOINT的区别:结论篇 CMD 和 ENTRYPOINT的其他细节结论 测试篇 一、 CMD的两种格式完全等效,但是ENTRYPOINT两种格式是有区别的 二、 docker run 命令替代了dockerfile的CMD命令 三、 docker run 命令在ENTRYPOINT的键值对格式下,是作为ENTRYPOINT命令的参数,docker run wx-centos ls -

    2024年02月05日
    浏览(42)
  • dockerfile ENTRYPOINT 执行.sh脚本提示找不到文件或文件不存在 No such file or directory

    我这里记录的是我遇到的一种特殊情况,如果你也遇到了这个问题,且都试了在百度中找到的解决方法还没有解决可以看看是不是和我遇到的问题一样。 在Dockerfile中,我ADD了两个文件,一个是jar包,一个是一个执行jar包的.sh文件 但是在使用命令: 就会提示 /bin/sh: 0: cannot

    2024年01月21日
    浏览(47)
  • [资料]常用Windows CMD指令

    1. 查找80端口开放情况 netstat -aon|findstr “80″  2. 用netstat查询端口占用程序的PID,显示列表的最后一列就是占用程序的PID,然后再利用tasklist找到这个PID的程序名 tasklist|findstr “2036″  3. telnet 命令使用方法详解,telnet命令怎么用?

    2024年02月08日
    浏览(40)
  • Docker技术入门| Part03:Dockerfile详解(Dockerfile概念、Dockerfile 指令、使用Dockerfile构建镜像)

    Docker镜像原理 Docker镜像是由特殊的文件系统叠加而成 最底端是bootfs,并使用宿主机的bootfs 第二层是root文件系统rootfs,称为base image 然后再往上可以叠加其他的镜像文件 统文件系统(UnionFile System)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统的视角,这样就隐

    2024年02月09日
    浏览(64)
  • Dockerfile指令介绍

    Dockerfile 是一种能够被Docker程序解释的剧本。Dockerfile由一条一条的指令组成,并且有自己的书写格式和支持的命令。当我们需要在容器镜像中指定自己额外的需求时,只需在Dockerfile上添加或修改指令,然后通过docker build生成我们自定义的容器镜像(image)。 构建类指令 用于

    2024年02月15日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包