博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker容器启动时的第一个进程的设置总结
阅读量:4179 次
发布时间:2019-05-26

本文共 1392 字,大约阅读时间需要 4 分钟。

实际生产中,Docker容器创建(或启动)时,默认即启动必要的服务进程,这种用法非常常见。容器中默认即启动的服务往往作为容器的第一个进程启动。如docker run命令创建Tomcat容器时即启动容器中的Tomcat服务。Docker提供了有多种方式实现该特性。

1.执行一个带参数的命令

创建容器时,如果希望默认即执行一个带参数的命令mycommand myparam,利用Dockerfile的ENTRYPOINT和CMD,以及docker run命令的参数,可以有如下多种实现。

1) 方法一,通过Dockerfile的CMD
    CMD ["mycommand"] ["myparam"]
首先,通过Dockerfile构建出镜像myImage:latest。这样,在启动容器时,只需要执行docker run myImage:latest命令即可。

2) 方法二,通过Dockerfile的ENTRYPOINT

    ENTRYPOINT ["mycommand", "myparam"]
首先,通过Dockerfile构建出镜像myImage:latest。这样,在启动容器时,只需要执行docker run myImage:latest命令即可。

3) 方法三,通过Dockerfile的ENTRYPOINT和CMD

    ENTRYPOINT ["mycommand"]
    CMD ["myparam"]
首先,通过Dockerfile构建出镜像myImage:latest。这样,在启动容器时,只需要执行docker run myImage:latest命令即可。

4) 方法四,通过Dockerfile的CMD和docker run命令的参数

    #ENTRYPOINT ["not set"]
    CMD ["anything"]
首先,通过Dockerfile构建出镜像myImage:latest。这样,在启动容器时,还需要执行docker run myImage:latest mycommand myparam命令。事实上,Dockerfile中的CMD定义没有任何作用,docker run命令覆盖了CMD并给出了完整的命令和参数。

5) 方法五,通过Dockerfile的ENTRYPOINT和docker run命令的参数

    ENTRYPOINT ["mycommand"]
    #CMD ["not set"]
首先,通过Dockerfile构建出镜像myImage:latest。这样,在启动容器时,还需要执行docker run myImage:latest myparam命令。事实上,这是docker run追加myparam到Dockerfile中的ENTRYPOINT。

6) 方法六,通过docker run --entrypoint="" 命令的参数

    ENTRYPOINT ["anything"]
    CMD ["anything"]
首先,通过Dockerfile构建出镜像myImage:latest。这样,在启动容器时,还需要执行docker run myImage:latest --entrypoint="" /bin/bash mycommand myparam命令。事实上,这是docker run重置了Dockerfile中的ENTRYPOINT。

 

 

转载地址:http://ahlai.baihongyu.com/

你可能感兴趣的文章
ArrayBlockingQueue的简单使用
查看>>
Git 常用命令总结(一)
查看>>
Git 常用命令总结(二)
查看>>
JAVA 并发——synchronized的分析
查看>>
Echarts——使用 dataset 管理数据
查看>>
DES 加解密工具类
查看>>
JAVA乱码问题——URL中的+,空格,/,?,%,#,&,= 及转义处理
查看>>
Base64编解码工具类
查看>>
使用IntelliJ IDEA2018创建Maven多模块项目
查看>>
SpringBoot多模块项目实践(Multi-Module)
查看>>
第一篇: 服务的注册与发现Eureka(Greenwich版)
查看>>
第二篇: 服务消费者(rest+ribbon)(Greenwich版本)
查看>>
第三篇: 服务消费者(Feign)(Greenwich版本)
查看>>
获取客户的真实IP地址
查看>>
第四篇: 熔断器(Ribbon+Feign)(Greenwich版本)
查看>>
第五篇: 路由网关(zuul)(Greenwich版本)
查看>>
Git 常用命令总结(三)
查看>>
Linux的常用命令(一)
查看>>
Linux的常用命令(二)
查看>>
第六篇: 分布式配置中心(Greenwich版本)
查看>>