Я пытаюсь установить переменные JAVA_OPTS для запуска elassandra с помощью docker-compose.
Вот что я реализовал:
docker-compose.yml
version: '2'
services:
elassandra:
image: strapdata/elassandra:new
container_name: elassandra
environment:
- echo 'JVM_OPTS="$JVM_OPTS -javaagent:/var/lib/docker/volumes/data/_data/jmx_prometheus_javaagent-0.3.0.jar=6090:/var/lib/docker/volumes/data/_data/cassandra.yml"' >> /etc/cassandra/cassandra-env.sh
env_file:
- /home/ubuntu/Docker/cassandra/conf/cassandra.env
volumes:
- /home/ubuntu/Docker/cassandra/jarfile:/var/lib/docker/volumes/data/_data
ports:
- '7000:7000'
- '7001:7001'
- '7199:7199'
- '9042:9042'
- '9142:9142'
- '9160:9160'
- '9200:9200'
Том и env_files работают правильно, единственная проблема в том, что docker-compose не видит переменные окружения, и после выполнения команды docker-compose -f docker-compose.yml up
я сталкиваюсь со следующей ошибкой, из-за которой elassandra перестает работать:
The JVM_OPTS variable is not set. Defaulting to a blank string.
Я также пробовал arg
и command
вместо environment
, к сожалению, никто из них не устанавливал переменные JAVA_OPTS.
Вопрос: Есть ли способ установить переменные JAVA_OPTS, например echo 'JVM_OPTS="$JVM_OPTS -javaagent:/var/lib/docker/volumes/data/_data/jmx_prometheus_javaagent-0.3.0.jar=6090:/var/lib/docker/volumes/data/_data/cassandra.yml"' >> /etc/cassandra/cassandra-env.sh
, в файле docker-compose.yml?