Docker cp ведет себя странно для определенной папки в моем контейнере. Это только копирование определенных файлов и папок и пропуск остальных.
У меня есть контейнер с именем «сервер сценариев», на котором работает обратный прокси nginx. Файлы относительной конфигурации хранятся в / etc / nginx, которую я хочу извлечь и смонтировать, чтобы я мог легко перенастроить с хоста и перезапустить контейнер.
Вот папка контейнера:
Затем я выполнил команду docker cp с хоста, чтобы попытаться извлечь эти файлы:
docker cp script-server:/etc/nginx ./etc
Это то, что я получил на хост system: Я прочитал документы "docker cp" и не нашел ничего полезного. Я попробовал опцию -L, чтобы перейти по символической ссылке, но все еще тот же результат. Я предполагаю, что происходит то, что docker начинает копировать все, затем наталкивается на символическую ссылку (которая, очевидно, не передает должным образом на хост), и затем она завершается. Я удалил символическую ссылку, и она сработала и скопировал все файлы.
Основная проблема заключается в том, что я не всегда хочу вручную bash вводить, удалять или временно перемещать символические ссылки, а затем копировать и восстанавливать все символические ссылки. Другая проблема заключается в том, что я не могу доверять команде docker cp для правильной передачи всех файлов. Что делать, если мне нужно установить символическую ссылку (я это сделаю позже).
Странная часть заключается в том, что я скопировал из папок, в которых символические ссылки не переводили 1: 1, и все, что было перенесено на хост, просто со сломанными символическими ссылками, что было хорошо.
Кто-нибудь еще испытывал что-нибудь подобное? Это желаемое поведение, и я что-то упустил? Есть ли способы исправить это?
Если это имеет значение, host is ubuntu: 19.10, а в контейнере docker работает nginx: alpine
Спасибо