gpt4 book ai didi

docker - 使用 `-e` 运行时需要为图像提供环境变量

转载 作者:行者123 更新时间:2023-12-02 19:55:16 26 4
gpt4 key购买 nike

我有一个容器镜像,需要设置环境变量才能运行。但是如果使用 -d 运行,除非容器受到监控,否则运行容器的人不会注意到丢失了某些东西。有没有办法让docker [container] run在启动容器之前检查是否为容器提供了环境变量。

最佳答案

在分离模式下,当使用 -d 运行时,无法打印需要 env 的消息。 ,但您可以尝试一种解决方法:

文件

FROM alpine
COPY entrypoint.sh /usr/bin/
RUN chmod +x /usr/bin/entrypoint.sh
ENTRYPOINT ["entrypoint.sh"]

入口点.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

关于docker - 使用 `-e` 运行时需要为图像提供环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58419169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com