Я пытаюсь проверить сохранение файлов журнала контейнеров докеров при игре на этом сайте, что дает вам корневая оболочка Linux с установленным докером. Я использовал решение, предоставленное здесь< /а>:
docker run -ti -v /dev/log:/root/data --name zizimongodb mongo
Вот что я получил в консоли:
docker: Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "process_linux.go:339: container init caused \"rootfs_linux.go:57: mounting \\\"/dev/log\\\" to rootfs \\\"/graph/overlay2/7f1eb83902e3688c0a1204c2fe8dfd8fbf43e1093bc578e4c41028e8b03e4b38/merged\\\" at \\\"/graph/overlay2/7f1eb83902e3688c0a1204c2fe8dfd8fbf43e1093bc578e4c41028e8b03e4b38/merged/root/data\\\" caused \\\"permission denied\\\"\"".
Но контейнер запустился:
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8adaa75ba6f7 mongo "docker-entrypoint..." 2 minutes ago Created zizimongodb
docker logs -f zizimongodb
ничего не возвращает. Когда я останавливаю контейнер, в файле /root/data
ничего не сохраняется. Любая идея, как я могу правильно сохранить все журналы?
/dev/log
? Попробуйте использовать/var/log/mongodb:/root/data
- person Tarun Lalwani   schedule 27.08.2017mongo
не делится журналами на/root/data
. Если вы проверяете контейнер mongodb, журналы отправляются на/var/log/mongodb/mongod.log
. Так почему вы ожидаете, что это сработает? - person Tarun Lalwani   schedule 27.08.2017/root/data
— это каталог моего хоста, а/var/log/mongodb
— каталог контейнера. Я пытаюсь смонтировать каталог контейнера в каталог хоста, чтобы сохранить содержимое каталога контейнера в каталог моего хоста; поэтому я могу получить к нему доступ после остановки или удаления моего контейнера. Я делаю неправильно, чтобы добиться этого? - person Zeinab Abbasimazar   schedule 27.08.2017hostpath:containerpath
. Вам нужно использовать/root/data/logs/:/var/log/mongodb/
. Это позволит получить каждый журнал из контейнера на/root/data/logs
на вашем хосте. - person Tarun Lalwani   schedule 27.08.2017