Проверьте изменения FS док-контейнера с хоста

Я запустил Docker-контейнер и изменил файл. В какой-то момент позже я бы хотел проверить это изменение на хосте докера. Сейчас пользуюсь docker cp чтобы экспортировать файл, проверить его, удалить его. Но этот многоэтапный процесс копирования-чтения-удаления кажется слишком сложным, если я просто хочу прочитать файл.

Есть ли лучший способ проверить изменения файловой системы в контейнере Docker?

Мне нужно больше информации, чем docker diff показывает.

2 ответа

Вы можете найти файловую систему работающего контейнера в каталоге данных Docker, обычно /var/lib/docker/, Конкретное расположение зависит от используемого драйвера хранилища. В случае AUFS расположение: `/var/lib/docker/aufs/mnt/${CONTAINER_ID}/.

$ HELLO_WORLD=$(docker run -d  ubuntu:12.04 /bin/sh -c "while true; do echo Hello world; sleep 1; done")
$ docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
2524e196adf0        ubuntu:12.04        /bin/sh -c while tru   4 seconds ago       Up 3     seconds                            naughty_brown
$ echo $HELLO_WORLD
2524e196adf0b985e84a22503d5fd1f2110c6a0cf175f12496f11f0043e799fa
$ sudo ls /var/lib/docker/aufs/mnt/${HELLO_WORLD}/
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  selinux  srv  sys  tmp  usr  var

Это не общее решение, но в особых случаях вы можете использовать подключенные тома:

Начать контейнер с объема:

sudo docker run -v /host_path/shared:/shared <container>

Храните файлы, которые вы хотите проверить, в контейнере dir /shared или скопируйте файлы в /shared и сделать необходимые файлы символическими ссылками на файлы, хранящиеся в /shared,

cp /mydir/myfile /shared/myfile
ln -s -f /shared/myfile /mydir/myfile

Затем вы можете проверить эти файлы непосредственно в /host_path/shared,

Примечание. Вы не можете использовать символические ссылки для специальных файлов, таких как /etc/passwd, /etc/hostname и т.п.

Другие вопросы по тегам