Невозможно получить образ ActiveMQ Docker для запуска в качестве службы в Portainer - PullRequest
1 голос
/ 15 марта 2019

У меня есть изображение ActiveMQ Docker, хранящееся в локальном репозитории Nexus.

Я пытаюсь развернуть ActiveMQ из этого образа в качестве службы на экземпляре Portainer с использованием следующего stack.yml: -

version: "3"
networks:
  jon:
services:          
  activemq:
    image: nexus:21111/activemq:latest
    ports:
      - "15100:61616"
    volumes:
      - /jon/test/activemq/data:/data/activemq
      - /jon/test/activemq/conf:/opt/activemq/conf
      - /jon/test/activemq/log:/var/log/activemq
    networks:
      - jon
    environment:
      ACTIVEMQ_ADMIN_LOGIN: xxxxx
      ACTIVEMQ_ADMIN_PASSWORD: xxxxx
      PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
      ACTIVEMQ_CONFIG_DIR: /opt/activemq/conf
      ACTIVEMQ_DATA_DIR: /data/activemq
    deploy:
      placement:
        constraints:
          - node.labels.affinity == ${NODE}
      replicas: 1
      restart_policy:
        condition: on-failure

До развертывания этого stack.yml я создал три тома хоста, указанные в разделе томов. Я установил полные права на чтение и запись для этих каталогов для всех пользователей.

Когда я попытался развернуть файл yml в Portainer, изображение извлекается, и контейнер запускается со статусом «Выполняется». Однако, когда я изучаю журналы, я вижу следующее: -

2019-03-15 15:08:50,450 CRIT Supervisor running as root (no user in config file)
2019-03-15 15:08:50,450 WARN Included extra file "/etc/supervisor/conf.d/activemq.conf" during parsing
2019-03-15 15:08:50,450 WARN Included extra file "/etc/supervisor/conf.d/cron.conf" during parsing
2019-03-15 15:08:50,469 INFO RPC interface 'supervisor' initialized
2019-03-15 15:08:50,469 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2019-03-15 15:08:50,470 INFO supervisord started with pid 1
2019-03-15 15:08:51,473 INFO spawned: 'cron' with pid 16
2019-03-15 15:08:51,477 INFO spawned: 'activemq' with pid 17
2019-03-15 15:08:52,219 INFO exited: activemq (exit status 1; not expected)
2019-03-15 15:08:53,221 INFO success: cron entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2019-03-15 15:08:53,222 INFO spawned: 'activemq' with pid 87
2019-03-15 15:08:53,980 INFO exited: activemq (exit status 1; not expected)
2019-03-15 15:08:55,983 INFO spawned: 'activemq' with pid 158
2019-03-15 15:08:56,721 INFO exited: activemq (exit status 1; not expected)
2019-03-15 15:08:59,726 INFO spawned: 'activemq' with pid 229
2019-03-15 15:09:00,443 INFO exited: activemq (exit status 1; not expected)
2019-03-15 15:09:01,445 INFO gave up: activemq entered FATAL state, too many start retries too quickly

Соответствующее сообщение об ошибке вставлено ниже: -

Traceback (most recent call last):
  File "/app/entrypoint/Init.py", line 331, in <module>
    serviceRun.setting_all()
  File "/app/entrypoint/Init.py", line 256, in setting_all
    self.do_init_activemq()
  File "/app/entrypoint/Init.py", line 246, in do_init_activemq
    self.replace_all(ACTIVEMQ_CONF + "/log4j.properties", "\$\{activemq\.base\}\/data\/", "/var/log/activemq/")
  File "/app/entrypoint/Init.py", line 27, in replace_all
    f = open(file,'r')
IOError: [Errno 2] No such file or directory: '/opt/activemq/conf.tmp/log4j.properties'

В нем упоминается отсутствующий файл. Действительно, когда я смотрю на тома хоста, связанные с /opt/activemq/conf.tmp и /opt/activemq/conf, в них вообще ничего нет, хотя один файл, activemq.pid, записывается на том хоста, связанный с /data/activemq.

Кто-нибудь видел такое поведение и / или, возможно, есть какие-либо предположения о том, где я могу пойти не так? Большое спасибо за чтение моего вопроса.

...