问题
现有环境变量
JAVA_OPTS=-Xms125m -Xmx256m -Dspring.profiles.active=test
CMD命令
CMD sleep 30 && java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar xxx.jar
执行后期望
# 延时30s执行后面一个命令,环境变量的占位符能生效
# CMD sleep 30 && java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar xxx.jar
java -Xms125m -Xmx256m -Dspring.profiles.active=test -Djava.security.egd=file:/dev/./urandom -jar xxx.jar
实际结果
# 延时30s执行后面一个命令,环境变量的占位符不能生效
# CMD sleep 30 && java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar xxx.jar
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar xxx.jar
于是验证了一下单命令的时候环境变量的占位符能否生效,发现是可以的
# CMD java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar xxx.jar
java -Xms125m -Xmx256m -Dspring.profiles.active=test -Djava.security.egd=file:/dev/./urandom -jar xxx.jar
想问问怎么同时支持dockerFile 的 CMD命令既能执行多条又可以兼容环境变量.或者有更好的解决方案.感谢!