You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Entrypoint无法打印传入的环境变量问题求助

解决Docker环境变量无法打印的问题

我来帮你排查下问题所在,主要有两个关键点需要调整:

1. 修正docker run的参数顺序

你当前的运行命令写反了参数顺序:

docker run test-docker -e TEST=bar

Docker的命令选项(比如-e、-p这类配置项)必须放在镜像名称之前,否则Docker会把-e TEST=bar当成要传递给容器内部ENTRYPOINT的参数,根本不会识别为环境变量设置。正确的命令应该是:

docker run -e TEST=bar test-docker

2. 优化Dockerfile的ENTRYPOINT写法(可选但更可靠)

你的Dockerfile用了shell形式的ENTRYPOINT,虽然修正命令顺序后能正常输出,但如果后续需要给容器传递更多参数,这种写法可能会出现信号传递或参数解析的问题。推荐改用exec形式配合shell来解析环境变量:

FROM openjdk:8-jdk-alpine
ENTRYPOINT ["sh", "-c", "echo $TEST"]

现在按正确流程操作:

  • 如果修改了Dockerfile,重新构建镜像:
docker build -t test-docker .
  • 运行容器:
docker run -e TEST=bar test-docker

这样就能正常输出bar了。

内容的提问来源于stack exchange,提问作者user6845507

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:14:58