在码头工人中使用入口点或CMD命令怎么启动服务

  介绍

本篇文章为大家展示了在码头工人中使用入口点或CMD命令怎么启动服务,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

利用入口点命令启动

<强>一、编写Dockerfile文件

 #启动一个服务用CMD即可
  (“python3.5" # CMD,“/opt/,8经/,8经/manage.py",“runserver",“0.0.0.0:8080"】
  
  #启动多个服务时,可以用CMD执行一个脚本,在脚本中启动多个服务
  CMD/opt/,8经/跑/entrypoint.sh来源
  
  #启动多个服务时,还可以用入口点执行一个脚本,在脚本中启动多个服务
  入口点(“/opt/,8经/运行/entrypoint.sh"] 

CMD与入口点的区别就是CMD命令可以被docker-compose.yml文件中的命令命令覆盖,一旦指定命令,CMD命令就不再执行,而入口点永远不可被覆盖。

所以在这里我们可以这样:

用CMD启动一个脚本,然后脚本里启动多个服务,比如django,芹菜等,当你只想要做数据库迁移时,就可以在docker-compose。yml文件中的命令中执行python管理。py迁移,这样CMD命令就不会被执行而仅仅执行数据库迁移。

<强>二、入口点。sh脚本文件

# !/bin/bash   #启动django   python3.5/opt/,8经/,8经/管理。py runserver 0.0.0.0:8080,      #启动工人   芹菜工人——celery_tasks。主要- l信息- f/opt/,8经/日志/芹菜。日志,#这里注意日志位置要写绝对路径      #启动击败   芹菜打——celery_tasks。主要- l信息

注意:前两个服务一定要在后台运行,即后面加个,,最后一个服务要以前台运行。

否,则全部以前台运行的话,只有第一个服务会启动;全部以后台运行的话,当最后一个服务执行完成后,容器就退出了。

<强>补充知识:Dockerfile CMD的使用

<强> CMD的三种格式:

CMD(“可执行”、“param1”、“param2”) (exec形式,首选格式)

CMD (“param1”、“param2”)(作为入口点的默认参数)

CMD命令param1 param2(壳形式)

<强>注意事项:

上面的exec形式是会被解析成一个JSON数组的,这意味着你必须使用双引号,而不是单引号。

exec形式是不会调用命令行解释器的命令shell)。

比如CMD[“回声”、“HOME"]中是不会对家里做变量替换的。如果要是用到壳牌的话,应该这样:CMD(“上海”、“c”,“echo $ HOME”)

一个Dockfile中应该只有一个CMD,如果有多个,只会执行最后一个

<强>格式使用的例子:

CMD(“上海”、“运行。sh "]

或者

CMD sh运行。sh

上述内容就是在码头工人中使用入口点或CMD命令怎么启动服务,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

在码头工人中使用入口点或CMD命令怎么启动服务