我正在尝试使用alpine linux创建docker镜像,运行后将创建具有2个正在运行的程序的容器.这个2(在我看来 – 我不太熟悉docker)无法分开,因为第一个程序更改了秒配置文件,然后也应该重新启动该程序.
我正在努力如何运行这两个程序.我已经添加了自己的脚本,应该运行该程序,但我遗漏了一些东西 – 脚本是每行2行是运行该程序的命令 – 它只启动第一个程序.
在使用python subprocess和systemctl命令的ubuntu中,我重新启动运行服务,但在alpine linux中,它作为程序运行,我不知道如何重新启动/重新加载它.
谢谢你的帮助
解决方法:
我建议看一下supervisord的方法.您可以在docker documentation找到如何使用它.
一些例子:
1. Dockerfile是:
FROM alpine:latest
RUN apk update && apk add --no-cache supervisor openssh nginx
COPY supervisord.conf /etc/supervisord.conf
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"]
2. supervisord.conf是:
[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D
[program:nginx]
command=nginx -c /etc/nginx/nginx.conf
标签:alpine,python,docker,ash 来源: https://codeday.me/bug/20191002/1841314.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。