我有一个Dockerfile:
FROM ubuntu:16.04
RUN apt-get -y update
RUN apt-get -y install wget nano tar unzip bzip2
RUN apt-get -y install python-pip
RUN pip install --upgrade pip
RUN mkdir /opt/docker/
COPY templates/cclib.zip /opt/docker/
RUN cd /opt/docker/ && unzip cclib.zip
RUN cd /opt/docker/cclib && pip install -r requirements.txt
COPY templates/entrypoint.sh /opt/entrypoint.sh
RUN chmod +x /opt/entrypoint.sh
CMD /opt/entrypoint.sh
和entrypoint.sh:
#!/usr/bin/env bash
echo $ENV1
echo $ENV2
echo $ENV3
echo "Starting."
cd /opt/docker/cclib/manuals && python reindex.py $ENV1 $ENV2 $ENV3
echo "Finished."
我使用以下命令启动容器:
docker run -dti --name container --env ENV1="-b Value" --env ENV2="-y
Value" --env ENV3="-t Value" rmparser:v1
在分离模式下,容器退出,但是脚本未完成其工作, docker logs 显示该脚本没有完成状态或错误。 docker inspect 命令没有帮助(容器的退出状态为0)。我试图在前台模式下运行容器(不带 -d 选项),脚本运行良好,状态为0,没有错误。 我也尝试通过 docker attach 输入容器并运行脚本,它应能正常工作。
更新:
程序正确结束。但是我想了解为什么日志没有以分离模式完全写入。