使用docker运行环境variables-e

这是我的Dockerfile:

FROM ubuntu:16.04 RUN apt-get update RUN apt-get install -y default-jdk ADD sample-docker-1.0-SNAPSHOT.jar app.jar EXPOSE 8080 ENV SITENAME="ASDASD" ENTRYPOINT ["java", "-jar", "app.jar"] 

这里是我使用的一些Java代码:

 @Value("${SITENAME:testsite}") private String siteName; 

用这个设置一切正常,SITENAME的环境价值确实是“ASDASD”。 但是,当我尝试设置该variables:

 docker run -P -d --name spring spring-app -e SITENAME='DOCKERlocal' 

它不起作用(值是来自Dockerfile的)。 我在这里错过了什么?

您想要将-e传递给docker命令。 所以:

 docker run -P -d --name spring -e "SITENAME=DOCKERlocal" spring-app 

正如你所做的那样,你将它传递给图像入口点。