Docker 启动镜像报错 Could not resolve placeholder

问题现象

本地启动 SpringBoot 项目是正常的,执行以下命令:

# 项目打包
maven package
# 构建镜像,命名为 test
docker build -f Dockerfile -t test .
# 指定 dev 环境启动镜像 test
docker run --name test -itd -p 8080:8080 test -e env=dev`

报错 Could not resolve placeholder

问题原因

-e 命令指定环境变量必须紧挨着 docker run 之后,否则不生效。

猜测是因为镜像已经启动了,再指定环境变量就晚了。

正确的启动镜像并指定环境变量的命令为 docker run -e env=dev --name test -itd -p 8080:8080 test

经验教训

命令顺序可能会影响执行结果,以官方为准。

posted @ 2022-04-09 09:26  ageovb  阅读(492)  评论(0编辑  收藏  举报