在docker入口点启动多个服务

时间:2015-09-24 15:34:04

标签: 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

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

任何解决方案?

1 个答案:

答案 0 :(得分:1)

您应该阅读http://man7.org/linux/man-pages/man3/exec.3.html以了解它正在做什么。

您需要的是使用&(不推荐)来处理流程,或者使用流程管理器或init系统(请参阅Can I run multiple programs in a Docker container?,也不是真的推荐)。

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