В режиме отсоединения невозможно напечатать сообщение, которое требуется env, на ваше слово при работе с -d
, но вы можете попробовать обходной путь:
Dockerfile
FROM alpine
COPY entrypoint.sh /usr/bin/
RUN chmod +x /usr/bin/entrypoint.sh
ENTRYPOINT ["entrypoint.sh"]
entrypoint.sh
#!/bin/sh
echo "starting container $hostname"
if [ -z "$REQUIRED_ENV" ]; then
echo "Container failed to start, pls pass -e REQUIRED_ENV=sometest"
exit 1
fi
echo "starting container with $REQUIRED_ENV"
#your long-running command from CMD
exec "$@"
Поэтому при запуске с
docker run -it --name envtest --rm env-test-image
он выйдет с сообщением
starting container
Container failed to start, pls pass -e REQUIRED_ENV=sometest
Обходной путь с режимом отсоединения
docker run -it --name envtest -d --rm env-test-image && docker logs envtest