Докер монтирует данные из контейнера в хост - PullRequest
0 голосов
/ 15 мая 2018

Я создал собственный Dockerfile, во время сборки я вставил в / opt / wilfly / log свой log4j.xml.Теперь мне нужно создать том / mnt / data / logs / application: / opt / wildfly / log

Я запускаю команду sudo docker run --name = myapp -v / mnt / data / logs / application: / opt/ wildfly / log -d -i -t application

Но когда я смотрю в контейнер докера, папка / opt / wilfly / log пуста.В эту папку следует войти log4j.xml.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Может быть, вам следует переместить его в другой каталог.

Например, переместите log4j.xml в / opt / wilfly / и установите путь ведения журнала на / opt / wilfly / log .

Когда вы запустите контейнер, log4j.xml не исчезнет.

0 голосов
/ 15 мая 2018

Когда вы монтируете данные, папка с вашего хоста переопределяет вашу подключенную папку в контейнере.

Таким образом, есть несколько опций, которые вы можете сделать:

  1. copylog4j.xml в вашу локальную папку /mnt/data/logs/application и запустите контейнер, как вы сделали.
  2. удалите -v /mnt/data/logs/application:/opt/wildfly/log и используйте исходный log4j.xml, который был добавлен во время сборки образа.

Обратите внимание, что вы также можете смонтировать только файл, если хотите (а не весь флодер): -v /mnt/data/logs/application/log4j.xml:/opt/wildfly/log/log4j.xml, но это не изменит поведения - файл с вашего хоста будет смонтирован в контейнер ине в обратном направлении.

...