【发布时间】:2016-11-06 07:34:48
【问题描述】:
我在通过 compose 命令选项将环境变量传递给我的自定义图像时遇到问题:
我的撰写文件:
---
version: '2'
services:
myservice:
image: mycustomimage_lms
environment:
CONF_HOME: /opt/apps-java/
APP_ENV: dev
UUID: me1
command: -Dconfig.home=${CONF_HOME} -Dcomponent.name=LMS -Denv=${APP_ENV} -Duser.dir=/tmp/ -DLMS_UUID=${UUID} -jar /opt/apps-java/my.jar
ports:
- "9060"
volumes:
- ./:/opt/apps-java/
- ./:/var/logs/apps-logs/
- ./:/tmp/data
我的图像只是一个自定义 jre 图像,它的入口点设置为接受 jvm 参数的 shell 脚本。我从 enrtypoint 调用的 run.sh
#!/bin/sh
export JAVA_HOME="/usr/java/latest/"
exec $JAVA_HOME/bin/java $@
我需要在运行时将值传递给命令,因为我可以将我的图像用于许多其他 jar,并且只需将参数更改为我的图像。
这是我得到的:
$> docker-compose up
WARNING: The CONF_HOME variable is not set. Defaulting to a blank string.
WARNING: The APP_ENV variable is not set. Defaulting to a blank string.
WARNING: The UUID variable is not set. Defaulting to a blank string.
我也有 经历了几个答案,例如:
Docker Compose - Command using Container Environment Variable
和
Docker-compose environment variables
但无法正常工作。请问有什么方向吗?
【问题讨论】:
标签: docker-compose