У меня есть 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
Inв автономном режиме контейнер выходит, но скрипт не завершает свою работу, docker logs показывает, что скрипт не имеет статуса завершения или ошибок.Команда docker inspect не помогла (контейнер имеет статус выхода 0).Я попытался запустить контейнер в режиме переднего плана (без опции -d ), и скрипт работал нормально, завершился со статусом 0 и без ошибок.Также я попытался войти в контейнер через docker attach и запустить скрипт, все заработало как надо.
Обновление:
Программа заканчиваетсяправильно.Но я хотел бы понять, почему журнал не полностью записывается в автономном режиме.