compose environment
部分中定义的变量将传递给容器,但docker-compose
本身不会用来解析您的yml文件。 yml文件中的变量将使用您的主机shell环境(运行docker-compose up
命令的shell)和/或.env
文件内容进行扩展。
由于您使用shell语法运行入口点,因此可以通过转义变量来使容器内的shell扩展变量而不是让docker-compose
执行此操作:
entrypoint: "java $${JAVA_OPTS} -Xmx$${javaMemoryLimit} -jar /app.jar"
您可能需要添加/ bin / sh来解析这些变量:
entrypoint: "/bin/sh -c \"java $${JAVA_OPTS} -Xmx$${javaMemoryLimit} -jar /app.jar\""