我正在尝试使用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