在docker入口点启动多个服务

我试图在星星的时候在我的容器中启动一些服务。

这是我的entry_point脚本:

#!/bin/bash set -e mkdir -p /app/log tail -n 0 -f /var/log/*.log & tail -n 0 -f ./log/current.log & # Start Gunicorn processes #echo Starting Nginx. #exec /etc/init.d/nginx start echo Starting Gunicorn. exec gunicorn app.main:app \ --name price_service \ -c config/gunicorn.conf \ "$@" 

我想要做的是取消注释这一行:

  #exec /etc/init.d/nginx start 

但在启动时,容器就挂在这里。

任何解决scheme

你应该阅读http://man7.org/linux/man-pages/man3/exec.3.html来看看它在做什么。

您需要的是使用& (不推荐)背景进程,或者使用进程pipe理器或init系统(请参阅我是否可以在Docker容器中运行多个程序?

或者你可以运行多个容器,并使用docker-compose来pipe理它们(推荐)。