美文网首页小白爱docker
在Dockerfile中设置默认启动的服务

在Dockerfile中设置默认启动的服务

作者: wangxiaoxi | 来源:发表于2018-07-01 19:44 被阅读0次

在Dockerfile中除了CMD和ENTRYPOINT, 其他所有的指令均只存活在构建docker image的过程中。

那么在启动container时,启动服务或者执行指令和脚本的任务就需要由CMD和ENTRYPOINT来完成。

而Docker container需要一个进程一直处于RUNNING状态,否则container就会退出。

所以,希望一个服务作为container启动时的默认且唯一的服务,并和container一直存在,就需要满足:

1. CMD和ENTRYPOINT启动该服务

2.一个前置的一直存在的进程

则常见的用法有:

1)启动目标服务,并追加non-end命令

CMD service mysql start && tail -F /var/log/mysql/error.log

2)使用前置服务

CMD /usr/bin/mysqld_safe

3)启动目标服务,并追加/bin/bash命令

ENTRYPOINT/CMD service mysql start && /bin/bash

4) 脚本启动程序,尤其是步骤较多的时候

CMD /start.sh

相关文章

网友评论

    本文标题:在Dockerfile中设置默认启动的服务

    本文链接:https://www.haomeiwen.com/subject/jzziyftx.html