Есть ли способ просмотреть файлы док-контейнера WSL2 через проводник Windows?

Я могу bash в один из контейнеров, но иногда гораздо проще просмотреть его в приложении с графическим интерфейсом, таком как Windows File Explorer или Total Commander.

Возможно ли это каким-либо образом?


person Tar    schedule 05.01.2021    source источник


Ответы (1)


Если единственное, что вам нужно, это просматривать папку внутри вашего контейнера во время разработки, вы можете использовать BIND MOUNTS: https://docs.docker.com/storage/bind-mounts/, что-то вроде volume

Это позволяет вам установить полное соединение между папкой вашего контейнера и входной папкой на вашем локальном компьютере.

Вы можете применить его через терминал с помощью: docker run ......... -v <path_within_your_local_machine>:<path_within_container_file_system>.

person Tal Rofe    schedule 05.01.2021
comment
Папка создается, но она пустая - person Tar; 05.01.2021
comment
@Tar Пожалуйста, предоставьте хотя бы частичный код того, что вы пытались. - person Tal Rofe; 05.01.2021
comment
Ввод этой команды: docker run --rm -it -v c:\aaa\cont:/srv/my my-image приводит к созданию нового каталога в c:\aaa\cont, но этот каталог пуст. Что-то должно быть, так как /srv/my не пусто. - person Tar; 05.01.2021
comment
вы можете использовать команду docker cp. документация: docs.docker.com/engine/reference/commandline/cp @Тар - person Tal Rofe; 05.01.2021
comment
Да, это работает, но это не прямой доступ к контейнеру. - person Tar; 05.01.2021
comment
Что вы подразумеваете под прямым доступом? Потому что эта команда docker cp копирует ваши файлы/папки напрямую из вашей файловой системы контейнера. В любом случае, если вы хотите постоянное соединение, вам нужно использовать опцию bind mount. - person Tal Rofe; 05.01.2021
comment
Как правило, опция bind mount копирует несуществующие файлы и папки локально из файловой системы контейнера докеров в вашу локальную файловую систему. Команда, которую вы выполнили, должна была выполнить работу. Может быть, дайте более подробную информацию - person Tal Rofe; 05.01.2021
comment
Возможно, вы захотите взглянуть на: stackoverflow.com/questions/31448821/ В нем говорится о вашей проблеме, и, в частности, я бы рассчитывал сосредоточиться на ответе инженера-программиста. - person Tal Rofe; 05.01.2021
comment
действительно имеет смысл, что файлы копируются, но это происходит за кулисами. Я хочу попробовать метод, который вы предложили - bind mount. Но я могу что-то упустить, так как это не работает: выдача docker run --rm -it -v c:\aaa\cont:/srv/my my-image просто создает для меня пустой каталог, я не вижу все файлы, которые находятся в этом каталоге. Опять же, я считаю, что я что-то упускаю, но не знаю, что... - person Tar; 06.01.2021
comment
@Tar Поскольку у меня нет доступа ко всем вашим файлам проекта, единственный вариант, который я вам дал, - это перейти по ссылке, которую я предоставил в своем предыдущем комментарии. Или - вы можете создать новый вопрос, который фокусируется на вашей проблеме с BIND MOUNT - person Tal Rofe; 06.01.2021