返回顶部
首页 > 资讯 > 服务器 >Dockerfile的CMD指令用法
  • 349
分享到

Dockerfile的CMD指令用法

DockerfileCMD指令CMD指令DockerfileCMD 2023-03-13 11:03:50 349人浏览 泡泡鱼
摘要

目录一 Docker的CMD指令二 实战三 一些说明和注意总结一 Docker的CMD指令 The main purpose of a CMD is to provide defau

一 Docker的CMD指令

The main purpose of a CMD is to provide defaults for an executing container.

CMD在容器运行的时候提供一些命令及参数,用法如下:

CMD ["executable","param1","param2"] (exec fORM, this is the preferred form)
CMD ["param1","param2"] (as default parameters to ENTRYPOINT)
CMD command param1 param2 (shell form)
  • 第一种用法:运行一个可执行的文件并提供参数。
  • 第二种用法:为ENTRYPOINT指定参数。
  • 第三种用法(shell form):是以”/bin/sh -c”的方法执行的命令。

如你指定:

CMD ["/bin/echo", "this is a echo test"]

build后运行(假设镜像名为ec):

docker run ec

就会输出: this is a echo test

是不是感觉很像开机启动项,你可以暂时这样理解。

注意点:

docker run命令如果指定了参数会把CMD里的参数覆盖:

这里说明一下,如:docker run -it ubuntu /bin/bash 命令的参数是指/bin/bash 而非 -it ,-it只是docker 的参数,而不是容器的参数。

同样是上面的ec镜像启动:

docker run ec /bin/echo hello

就不会输出:this is a echo test,因为CMD命令被”/bin/bash”覆盖了。

二 实战

[root@localhost df]# cat Dockerfile
FROM busybox
CMD ["/bin/echo", "this is a echo test"]
[root@localhost df]# docker build -t test .
Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM busybox
---> 6ad733544a63
Step 2/2 : CMD /bin/echo this is a echo test
---> Running in fa8af9fca520
---> c653707895ae
Removing intermediate container fa8af9fca520
Successfully built c653707895ae
Successfully tagged test:latest
[root@localhost df]# docker run test
this is a echo test
[root@localhost df]# docker run test /bin/echo hello
hello

三 一些说明和注意

一个Dockerfile仅仅最后一个CMD起作用。

执行文件或者没有执行文件(ENTRYPOINT提供),为执行容器提供缺省值。

如果CMD配合ENTRYPOINT那么他们的格式都需要是JSON数组格式,CMD用来提供参数。

CMD非参数模式,shell exec 当运行一个镜像的时候会执行。

shell格式 相当于指令在/bin/sh -c执行,如果不想使用shell格式,就需要使用数组格式,参数为单独字符串

FROM ubuntu
CMD echo "This is a test." | wc -

FROM ubuntu
#需要程序地址
CMD ["/usr/bin/wc","--help"]

如果容器每次都执行则考虑CMD和ENTRYPOINT结合

docker run覆盖CMD

RUN镜像构建,并提交交结果。CMD构建阶段不执行,容器启动时候执行。

每个Dockfile只能有一条CMD命令,如果指定了多条,只有最后一条会执行。

如果用户启动容器时指定了运行命令,则会覆盖CMD指定命令。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Dockerfile的CMD指令用法

本文链接: https://lsjlt.com/news/199531.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Dockerfile的CMD指令用法
    目录一 Docker的CMD指令二 实战三 一些说明和注意总结一 Docker的CMD指令 The main purpose of a CMD is to provide defau...
    99+
    2023-03-13
    Dockerfile CMD指令 CMD指令 Dockerfile CMD
  • Dockerfile的CMD指令怎么使用
    这篇文章主要介绍“Dockerfile的CMD指令怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Dockerfile的CMD指令怎么使用”文章能帮助大家解决问题。一 Docker的CMD指令...
    99+
    2023-07-05
  • Dockerfile中CMD和ENTRYPOINT指令有什么用
    这篇文章主要为大家展示了“Dockerfile中CMD和ENTRYPOINT指令有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Dockerfile中CMD和ENTRYPOINT指令有什么...
    99+
    2023-06-04
  • Linux中CMD指令怎么用
    这篇文章主要为大家展示了“Linux中CMD指令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中CMD指令怎么用”这篇文章吧。Dockerfile 中只能有一条CMD指令。如果列...
    99+
    2023-06-04
  • 如何用dockerfile指令构建docker镜像
    本篇内容主要讲解“如何用dockerfile指令构建docker镜像”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用dockerfile指令构建docker镜像”吧!初识Dockerfile...
    99+
    2023-06-30
  • Dockerfile中ADD和COPY指令有什么用
    这篇文章主要介绍Dockerfile中ADD和COPY指令有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!当从Dockerfile 中 build Docker 镜像时候,你可以选择两种指令来添加本地的目录或者...
    99+
    2023-06-04
  • docker笔记13-Dockerfile的保留字指令
        Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。    构建三步骤:1、编写dockerfile文件;2、do...
    99+
    2023-06-04
  • Dockerfile中ENTRYPOINT 和 CMD的区别说明
    ENTRYPOINT 和 CMD 都是 Dockerfile 中的指令,用于指定容器启动时要执行的命令。区别如下:- ENTRYPO...
    99+
    2023-08-11
    区别
  • CMD常用运行指令有哪些
    这篇文章主要介绍“CMD常用运行指令有哪些”,在日常操作中,相信很多人在CMD常用运行指令有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CMD常用运行指令有哪些”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-10
  • dockerfile中ENTRYPOINT与CMD的结合使用及区别
    我们在上篇小作文[docker容器dockerfile详解]对中dockerfile有了比较全面的认识,我们也提到`ENTRYPOINT`和`CMD`都可以指定容器启动命令。因为这两...
    99+
    2024-04-02
  • 分析Dockerfile中的保留字指令的过程
    这篇文章主要讲解了“分析Dockerfile中的保留字指令的过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“分析Dockerfile中的保留字指令的过程”吧!一、Dockerfile是什么...
    99+
    2023-06-25
  • Dockerfile中的保留字指令的过程解析
    目录一、Dockerfile是什么?二、Dockerfile构建过程分析三、Dockerfile保留字指令3.1、FROM3.2、MAINTAINER3.3、RUN3.4、EXPOS...
    99+
    2024-04-02
  • 怎么用java在cmd中写入指令
    要在CMD中运行Java代码,您需要先将Java的bin目录添加到系统环境变量中。然后,您可以按照以下步骤使用CMD编写和执行Jav...
    99+
    2023-08-23
    java cmd
  • dockerfile指令构建docker镜像的示例代码
    目录初识Dockerfile编写一个自己的docker 镜像:DockerFiledocker build . 命令查看镜像是如何生成的初识Dockerfile Dockerfile...
    99+
    2024-04-02
  • cmd指令如何进入d盘
    本文小编为大家详细介绍“cmd指令如何进入d盘”,内容详细,步骤清晰,细节处理妥当,希望这篇“cmd指令如何进入d盘”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。cmd进入d盘某个文件夹方法:在系统界面中同时按下...
    99+
    2023-07-01
  • Docker执行DockerFile构建过程指令解析
    目录DockerFile 简介DockerFile 构建过程DockerFile 指令解析DockerFile 案例演示构建一个 mycentos 镜像DockerFile 简介 镜...
    99+
    2024-04-02
  • 有哪些常用的Dockerfile命令
    这期内容当中小编将会给大家带来有关有哪些常用的Dockerfile命令,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。01 CMDCMD命令用于指定一个容器启动的时候需要运行的命令。它和RUN指令有点类似,...
    99+
    2023-06-14
  • Dockerfile常用命令的使用简介
    目录01 CMD02 ENTRYPOINT03 WORKDIR04 ENV05 USER06 VOLUME07 ADD08 COPY   之前的文章中,...
    99+
    2024-04-02
  • 【python】os.system() & os.popen() 在 python 执行 cmd 指令
    先说总结 os.system:获取程序执行命令的返回值。os.popen: 获取程序执行命令的输出结果。commands:获取返回值和命令的输出结果。 1 os.system() 这个方法是直接调用标...
    99+
    2023-09-11
    python linux 服务器
  • cmd运行命令的10个另类用法
    Windows XP开始菜单中的“运行”大家一定不陌生吧,打开命令行窗口只需输入“cmd”就可以,打开注册表输入“regedit”就OK了&hell...
    99+
    2023-05-25
    cmd 运行命令 命令 运行 用法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作