我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Dockerfile的CMD指令怎么使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Dockerfile的CMD指令怎么使用

这篇文章主要介绍“Dockerfile的CMD指令怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Dockerfile的CMD指令怎么使用”文章能帮助大家解决问题。

一 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 DockerfileFROM busyboxCMD ["/bin/echo", "this is a echo test"][root@localhost df]# docker build -t test .Sending build context to Docker daemon  2.048kBStep 1/2 : FROM busybox---> 6ad733544a63Step 2/2 : CMD /bin/echo this is a echo test---> Running in fa8af9fca520---> c653707895aeRemoving intermediate container fa8af9fca520Successfully built c653707895aeSuccessfully tagged test:latest[root@localhost df]# docker run testthis is a echo test[root@localhost df]# docker run test /bin/echo hellohello

三 一些说明和注意

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

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

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

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

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

FROM ubuntuCMD echo "This is a test." | wc -FROM ubuntu#需要程序地址CMD ["/usr/bin/wc","--help"]

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

docker run覆盖CMD

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

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

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

关于“Dockerfile的CMD指令怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Dockerfile的CMD指令怎么使用

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

下载Word文档

猜你喜欢

Dockerfile的CMD指令怎么使用

这篇文章主要介绍“Dockerfile的CMD指令怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Dockerfile的CMD指令怎么使用”文章能帮助大家解决问题。一 Docker的CMD指令
2023-07-05

Dockerfile的CMD指令用法

这篇文章主要介绍了Dockerfile的CMD指令用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-03-13

Dockerfile中CMD和ENTRYPOINT指令有什么用

这篇文章主要为大家展示了“Dockerfile中CMD和ENTRYPOINT指令有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Dockerfile中CMD和ENTRYPOINT指令有什么
2023-06-04

Linux中CMD指令怎么用

这篇文章主要为大家展示了“Linux中CMD指令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中CMD指令怎么用”这篇文章吧。Dockerfile 中只能有一条CMD指令。如果列
2023-06-04

cmd命令怎么使用

这篇文章主要介绍“cmd命令怎么使用”,在日常操作中,相信很多人在cmd命令怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”cmd命令怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!10个很酷
2023-07-01

cmd NTSD命令怎么使用

NTSD(NT Symbolic Debugger)是Windows操作系统的一个调试工具,用于调试应用程序和系统组件。下面是NTSD命令的使用方法:1. 打开命令提示符(CMD)窗口。2. 使用cd命令切换到要调试的应用程序或系统组件的目
2023-08-11

怎么用java在cmd中写入指令

要在CMD中运行Java代码,您需要先将Java的bin目录添加到系统环境变量中。然后,您可以按照以下步骤使用CMD编写和执行Java代码:1. 打开CMD(命令提示符)窗口。2. 使用`cd`命令切换到您的Java代码所在的目录。例如,如
2023-08-23

Linux firewall-cmd命令怎么使用

今天小编给大家分享一下Linux firewall-cmd命令怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Linu
2023-06-28

Dockerfile中ADD和COPY指令有什么用

这篇文章主要介绍Dockerfile中ADD和COPY指令有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!当从Dockerfile 中 build Docker 镜像时候,你可以选择两种指令来添加本地的目录或者
2023-06-04

Dockerfile制作镜像的常用指令详解

Dockerfile制作镜像常用指令详解:构建镜像:FROM:指定基础镜像RUN:执行命令CMD/ENTRYPOINT:定义启动命令管理文件:COPY/ADD:复制文件WORKDIR:设置工作目录环境变量:ENV:设置环境变量ARG:构建时提供参数网络:EXPOSE:指定开放端口PUBLISH:映射端口最佳实践:使用最新基础镜像分层构建,使用缓存保持Dockerfile简洁
Dockerfile制作镜像的常用指令详解
2024-04-02

怎么在cmd中使用SETLOCAL命令

这篇文章给大家介绍怎么在cmd中使用SETLOCAL命令,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。SETLOCAL 开始批处理文件中环境改动的本地化操作。在执行 SETLOCAL 之后所做的环境改动只限于批处理文件
2023-06-08

docker中Dockerfile的ONBUILD命令怎么用

这篇文章将为大家详细讲解有关docker中Dockerfile的ONBUILD命令怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 ONBUILD:当构建一个被继承的Dockerfile时运行的
2023-06-04

pytorch库的dockerfile怎么使用

这篇“pytorch库的dockerfile怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“pytorch库的dock
2023-07-02

怎么在CMD命令行中使用管道命令

本篇文章为大家展示了怎么在CMD命令行中使用管道命令,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、什么是管道命令  管道命令能够将一个命令的执行结果经过筛选,只保留我们需要的信息。  如 dir
2023-06-08

cmd中find命令怎么用

小编给大家分享一下cmd中find命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我对findstr是如此的依赖,以至于当我向各位讲解find命令的时候,
2023-06-08

怎么使用cmd命令启动MySQL服务

要使用cmd命令启动MySQL服务,您需要按照以下步骤进行操作:打开命令提示符(cmd)窗口。您可以通过按下Win + R键,然后输入"cmd"并按下Enter键,或者通过开始菜单中的搜索框找到并打开命令提示符。切换到MySQL安装目录的b
2023-10-26

cmd中ren命令怎么用

小编给大家分享一下cmd中ren命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!ren 的用法很简单,其使用格式为:ren 旧文件 新文件名。例如,把te
2023-06-08

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录