温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Docker 容器内服务自启动

发布时间:2020-08-02 05:07:40 来源:网络 阅读:3799 作者:槑槑的嫑嫑 栏目:云计算

使用Ubuntu镜像,安装Apache2后,需要Aapche2随着容器启动而启动。

之前尝试在/etc/rc里面修改等方法,并不能随着容器启动。

然后把启动写到CMD["service","apache2","start"] 里面,容器无法启动(因为执行完就退出容器了)~

只好在容器里面写apache2的自启动脚本,然后在启动容器的时候运行该脚本,具体操作如下:

#在容器里
#vim /etc/apache2/auto_service.sh

#!/bin/sh
service apache2 start 
/bin/bash

其中的/bin/bash,就是保持一个终端,免得执行完就结束了。

#chmod 777 /etc/apache2/auto_service.sh

把带有自启动脚本的容器封装为镜像
#在服务器上
#docker commit demo ubuntu

#vim Dockerfile

From demo

CMD [ "/bin/sh","/etc/apache2/auto_service.sh"]

根据Dockerfile构建新镜像即可
#docker buitd -t auto_apahce2 .

之后用auto_apache2镜像启动的容器,即可自启动apache2~

当然也可以把自启动脚本这一步全部写到Dockerfile里面:

Dockerfile内容

From ubuntu_demo
RUN echo -e '#!/bin/sh\nservice apache2 start\n/bin/bash' >/etc/apahce2/auto_service.sh &&\
         chmod 777 /etc/apache2/auto_service.sh &&\

CMD [ "/bin/sh","/etc/apache2/auto_service.sh"]

根据Dockerfile生成镜像
#docker build -t auto_service_ubuntu .

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI