Docker - доступ к файлам внутри контейнера с хоста - PullRequest
0 голосов
/ 17 октября 2018

Я новичок в Docker.

Я запустил образы узла-10 и внутри запущенного контейнера я клонировал репозиторий, запустил приложение, которое запустило сервер с наблюдателем файлов.Мне нужно получить доступ к базе кода внутри контейнера, открыть его в IDE, работающей на хосте Windows.Если это сделано, то я также хочу, чтобы при изменении файлов в среде IDE эти изменения вызывали просмотрщик файлов в контейнере.

Любая помощь приветствуется.Спасибо,

Ответы [ 3 ]

0 голосов
/ 17 октября 2018

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

docker run -it -v "$PWD":/app -w /app -u node node:10 yarn dev

здесь docker создаст образ, устанавливающий рабочий каталог в "/ app", mountтекущий каталог "/ app" и запускать "yarn dev" при запуске с пользователем "node" (без корневого пользователя)

Надеюсь, это полезно.

0 голосов
/ 17 октября 2018

Это зависит от того, что вы хотите сделать с файлами.

Существует команда docker cp, которую можно использовать для копирования файлов в / из контейнера.

Однако для меня это звучит так, как будто вы используете docker для разработки, поэтому вместо этого вы должны смонтировать том, то есть вы смонтируете каталог на хосте как том в docker, поэтому все, что записано в этот каталогбудет отображаться в контейнере, и наоборот.

Например, если у вас есть кодовая база, с которой вы разрабатываете в C:\src на своей машине с Windows, тогда вы запускаете docker как docker run -v c:\src:/app где /appэто местоположение, в котором ищет узел. Однако для Windows есть несколько вещей, которые следует учитывать, поскольку Docker не является родным в Windows, поэтому сначала ознакомьтесь с документацией .

0 голосов
/ 17 октября 2018

Концепция, которую вы ищете, называется volume .Вам нужно запустить контейнер и смонтировать внутри него каталог хоста.Для контейнера это будет обычная папка, в которой будут создаваться файлы.Для вас это тоже будет обычная папка.Изменения, сделанные одной из сторон, будут видны другой.

docker run -v /a/local/dir:/a/dir/in/your/container

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...