广告
返回顶部
首页 > 资讯 > 服务器 >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://www.lsjlt.com/news/199531.html(转载时请注明来源链接)

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 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
  • CMD常用运行指令有哪些
    这篇文章主要介绍“CMD常用运行指令有哪些”,在日常操作中,相信很多人在CMD常用运行指令有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CMD常用运行指令有哪些”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-10
  • Dockerfile中的保留字指令的过程解析
    目录一、Dockerfile是什么?二、Dockerfile构建过程分析三、Dockerfile保留字指令3.1、FROM3.2、MAINTAINER3.3、RUN3.4、EXPOS...
    99+
    2022-11-12
  • 分析Dockerfile中的保留字指令的过程
    这篇文章主要讲解了“分析Dockerfile中的保留字指令的过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“分析Dockerfile中的保留字指令的过程”吧!一、Dockerfile是什么...
    99+
    2023-06-25
  • 怎么用java在cmd中写入指令
    要在CMD中运行Java代码,您需要先将Java的bin目录添加到系统环境变量中。然后,您可以按照以下步骤使用CMD编写和执行Jav...
    99+
    2023-08-23
    java cmd
  • dockerfile中ENTRYPOINT与CMD的结合使用及区别
    我们在上篇小作文[docker容器dockerfile详解]对中dockerfile有了比较全面的认识,我们也提到`ENTRYPOINT`和`CMD`都可以指定容器启动命令。因为这两...
    99+
    2022-11-12
  • dockerfile指令构建docker镜像的示例代码
    目录初识Dockerfile编写一个自己的docker 镜像:DockerFiledocker build . 命令查看镜像是如何生成的初识Dockerfile Dockerfile...
    99+
    2022-11-13
  • python代码调出cmd命令行窗口并在cmd窗口中执行指定的命令
    有时候,我们需要在python代码中打开 cmd命令行窗口,并在新打开的命令行cmd窗口中执行特定的命令, 其实,这个操作很容易,不过在网上找了一圈,都是没有说明白, 这里总结发布一下, 导入 os...
    99+
    2023-09-21
    windows
  • 有哪些常用的Dockerfile命令
    这期内容当中小编将会给大家带来有关有哪些常用的Dockerfile命令,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。01 CMDCMD命令用于指定一个容器启动的时候需要运行的命令。它和RUN指令有点类似,...
    99+
    2023-06-14
  • Dockerfile常用命令的使用简介
    目录01 CMD02 ENTRYPOINT03 WORKDIR04 ENV05 USER06 VOLUME07 ADD08 COPY   之前的文章中,...
    99+
    2022-11-12
  • cmd del命令的说明和具体用法
    这篇文章主要介绍“cmd del命令的说明和具体用法”,在日常操作中,相信很多人在cmd del命令的说明和具体用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”cmd del命令的说明和具体用法”的疑惑有所...
    99+
    2023-06-08
  • cmd copy命令的说明及使用方法
    本篇内容介绍了“cmd copy命令的说明及使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!copy,中文含义为“复制”,一个很容易见...
    99+
    2023-06-08
  • cmd运行命令的10个另类用法
    Windows XP开始菜单中的“运行”大家一定不陌生吧,打开命令行窗口只需输入“cmd”就可以,打开注册表输入“regedit”就OK了&hell...
    99+
    2023-05-25
    cmd 运行命令 命令 运行 用法
  • Golang执行cmd命令行的方法
    1. Golang执行系统命令使用 os/exec Command方法: func Command(name string, arg ...string) *Cmd 第一个参数是命...
    99+
    2022-11-11
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作