【发布时间】:2019-08-28 21:28:17
【问题描述】:
我必须在 docker 中运行一个烧瓶应用程序。应用程序在我运行 start.sh 时启动(详情如下),它使用 nohup 命令启动应用程序并将输出重定向到日志文件。
这在普通 Linux 系统(没有 docker)中运行良好,但是当我在 docker 容器中运行它时,日志文件没有显示任何输出。在 docker 容器中,生成大小为 0 的日志文件,并将日志输出转储到 nohup.out 文件中。
我不确定为什么输出被重定向到 nohup.out 而不是指定的日志文件,而它在我当前的 Linux 设置中运行良好。
start.sh:
nohup uwsgi --ini /home/myuser/myapp/play.ini &>> /home/myuser/myapp/logs/play.nohup.out &
Dockerfile:
#Download base image ubuntu 16.04
FROM ubuntu:16.04
RUN apt-get update
RUN apt-get install -y git-core
RUN apt-get install -y nginx
RUN apt-get install -y python
# get application code and install python packages
RUN git clone <..git directory...> /home/myuser/myapp
RUN pip install -r /home/myuser/myapp/requirements.txt
# Setup nginx
RUN cp /home/myuser/myapp/myapp.conf /etc/nginx/conf.d/myapp.conf
CMD sleep 600
EXPOSE 80
【问题讨论】:
-
当你在 docker 的上下文中询问时分享你的 dockerfile,没有 dockerfile 很难提供帮助。