当前位置: 首页 > news >正文

河南网站备案地址软文内容

河南网站备案地址,软文内容,兰州建网站,如何做好网络销售推广方案RUN在构建过程中在镜像中执行命令。CMD容器创建时的默认命令。(可以被覆盖)ENTRYPOINT容器创建时的主要命令。(不可被覆盖) 指令介绍 1.RUN 在构建过程中在镜像中执行命令,是在 docker build中执行 2.CMD 作用&am…
  • RUN在构建过程中在镜像中执行命令。
  • CMD容器创建时的默认命令。(可以被覆盖)
  • ENTRYPOINT容器创建时的主要命令。(不可被覆盖)

指令介绍

1.RUN

在构建过程中在镜像中执行命令,是在 docker build中执行

2.CMD

作用:为启动的容器指定默认要运行的程序,程序运行结束,容器也就结束。CMD 指令指定的程序可被 docker run 命令行参数中指定要运行的程序所覆盖。 在docker run 时运行。

注意:如果 Dockerfile 中如果存在多个 CMD 指令,仅最后一个生效。

CMD <shell 命令> 
CMD ["<可执行文件或命令>","<param1>","<param2>",...] 
CMD ["<param1>","<param2>",...]  # 该写法是为 ENTRYPOINT 指令指定的程序提供默认参数

3.ENTRYPOINT

类似于 CMD 指令,但其不会被 docker run 的命令行参数指定的指令所覆盖,而且这些命令行参数会被当作参数送给 ENTRYPOINT 指令指定的程序。

但是, 如果运行 docker run 时使用了 --entrypoint 选项,将覆盖 ENTRYPOINT 指令指定的程序。

优点:在执行 docker run 的时候可以指定 ENTRYPOINT 运行所需的参数。

注意:如果 Dockerfile 中如果存在多个 ENTRYPOINT 指令,仅最后一个生效。

ENTRYPOINT ["<executeable>","<param1>","<param2>",...]

CMD和ENTRYPOINT区别以及搭配使用

ENTRYPOINT 指令和 CMD 指令的工作方式类似,但它们之间有一个关键区别:ENTRYPOINT 指定的程序不会被 docker run 命令行参数覆盖,而命令行参数会被当作参数传递给 ENTRYPOINT 指定的程序

理解示例

1. Dockerfile 示例

假设我们在 Dockerfile 中使用 ENTRYPOINT 指令:

FROM ubuntu
ENTRYPOINT ["echo", "Hello"]

在这个 Dockerfile 中,echoENTRYPOINT 指定的程序,而 "Hello" 是它的默认参数。

2. 运行容器时传递参数

当你使用 docker run 运行镜像时,如果你在命令行中传递了额外的参数,这些参数会被附加到 ENTRYPOINT 指定的程序之后,作为它的参数。

例如:

docker run my-ubuntu World

这个命令不会覆盖 ENTRYPOINT,而是将 World 作为参数传递给 echo,最终执行的命令是:

echo Hello World

输出结果:

Hello World

在这个例子中,docker run my-ubuntu World 将命令行参数 World 传递给了 echo 命令,使得最终的执行效果是输出 Hello World

3. 与 CMD 的区别

如果你在 Dockerfile 中使用的是 CMD 而不是 ENTRYPOINT,那么 docker run 中的参数会完全覆盖 CMD 指定的默认命令。

例如:

FROM ubuntu
CMD ["echo", "Hello"]

运行 docker run my-ubuntu World 时,World 会覆盖 CMD 中的 echo Hello,最终执行的命令是:

World

这会导致 docker: Error response from daemon: OCI runtime create failed 的错误,因为 World 不是有效的命令。

4. 结合 CMDENTRYPOINT

你还可以结合 ENTRYPOINTCMD 来提供更灵活的默认行为。例如:

FROM ubuntu
ENTRYPOINT ["echo"]
CMD ["Hello"]

在这种情况下,ENTRYPOINT 始终会执行 echo,而 CMD 中的 "Hello" 是默认参数。如果你运行:

docker run my-ubuntu

输出结果是:

Hello

但是,如果你运行:

docker run my-ubuntu World

这时,World 会覆盖 CMD"Hello",并作为参数传递给 echo,输出:

World

总结

  • ENTRYPOINT 不会被 docker run 命令行参数覆盖,命令行参数会传递给 ENTRYPOINT 指定的程序。
  • CMD 可以被 docker run 覆盖,且默认参数会在没有额外命令行参数时生效。
http://www.tj-hxxt.cn/news/28479.html

相关文章:

  • JAVA入门到建设网站完成免费搭建网站的软件
  • 怎么做网站_在线营销推广
  • 公司做网站费用和人员配备电商平台如何推广运营
  • 网站建设功能定位怎么把网站排名排上去
  • 泉州网站建设培训机构百度指数功能
  • 企业网站开发的目的wordpress官网入口
  • 视频app开发seo推广教程视频
  • 博物建设公司网站网站优化工具
  • 做网站流量是什么杭州推广公司
  • qq钓鱼网址制作手机版关键词搜索优化
  • wordpress+4.5+多站点什么是seo和sem
  • 建设网站都要学些什么问题福建省人民政府门户网站
  • 下载网站后怎么做seo网站关键词优化怎么做
  • 呈贡网站建设淘宝美工培训
  • 网络工程就业岗位有哪些seo性能优化
  • 非交互式网站备案世界军事新闻
  • 怎样做淘宝客网站线下推广怎么做
  • 企业网站建设研究论文深圳网络推广团队
  • bootstrap公司网站今日早间新闻
  • 做网站如何分类企业培训课程分类
  • 做网站需要关注哪些重要问题百度网站链接提交
  • 怎样用jsp做网站登录公司网站如何制作
  • 全栈网站开发工程师百度搜索引擎原理
  • 开发购物平台网站费用灰色词网站seo
  • 怎么做网站作业武汉it培训机构排名前十
  • 哈尔滨建站模板源码推广软件app
  • 网站建设套餐价格营销网站做的好的公司
  • 邢台公司做网站阿里云官网首页
  • 湛江网站制作费用网站排名优化方法
  • 行业门户网站建设方案网络营销的盈利模式