docker supervisor conf中的Xvfb命令不工作
我有一个基于Ubuntu的Docker映像,它在Dockerfile的末尾运行一个作为CMD的监管脚本。这将在启动时在容器中成功运行uwsgi和nginx。但是,附加在supervisor-app.conf末尾的以下内容无效:docker supervisor conf中的Xvfb命令不工作,docker,supervisord,xvfb,Docker,Supervisord,Xvfb,我有一个基于Ubuntu的Docker映像,它在Dockerfile的末尾运行一个作为CMD的监管脚本。这将在启动时在容器中成功运行uwsgi和nginx。但是,附加在supervisor-app.conf末尾的以下内容无效: [program:Xvfb] command=/usr/bin/Xvfb :1 -screen 0 1024x768x16 &> xvfb.log & 当我将shell打开到正在运行的docker实例中时,没有正在运行的X实例: root@922
[program:Xvfb]
command=/usr/bin/Xvfb :1 -screen 0 1024x768x16 &> xvfb.log &
当我将shell打开到正在运行的docker实例中时,没有正在运行的X实例:
root@9221694363ea:/# ps aux | grep X
root 39 0.0 0.0 8868 784 ? S+ 15:32 0:00 grep --color=auto X
但是,运行与supervisor-app.conf中完全相同的命令是有效的
root@9221694363ea:/# /usr/bin/Xvfb :1 -screen 0 1024x768x16 &> xvfb.log &
[1] 40
root@9221694363ea:/# ps aux | grep X
root 40 1.2 0.1 170128 21604 ? Sl 15:33 0:00 /usr/bin/Xvfb :1 -screen 0 1024x768x16
root 48 0.0 0.0 8868 792 ? S+ 15:33 0:00 grep --color=auto X
那么supervisor app.conf中的行有什么问题呢?supervisor没有按照我原来失败的配置行处理特定于bash的操作符,例如在后台运行“&”或像“>”这样的重定向。 我使用bash-c解决了这个问题,因此:
[program:Xvfb]
command=bash -c "/usr/bin/Xvfb :1 -screen 0 1024x768x16 &> xvfb.log"
现在,当我进入docker bash shell时,会创建一个Xvfb窗口,等待我在代码中的其他地方使用它