Docker, смонтировать все пользовательские каталоги в контейнер - PullRequest
2 голосов
/ 12 июля 2020
Параметр

add -v может монтировать каталоги в контейнер, например, монтировать /home/me/my_code в контейнер, и когда он находится в контейнере, мы можем видеть каталог.

В настоящее время в моем Dockerfile пользователь - docker, рабочая область - /home/docker, и как я могу смонтировать все мои каталоги из /home/me в /home/docker? Чтобы при входе в контейнер было очень удобно запускать свою задачу и исследовать файлы, как в /home/me.

1 Ответ

1 голос
/ 12 июля 2020

При создании образа через dockerfile, COPY или ADD используются для копирования файла с необходимым содержимым в процессе создания примера образа, установки npm двоичных файлов и всего остального.

Поскольку вы хотите иметь ту же локальную FS, что и внутри conatiner, вы можете попробовать «Bind Mounts».

bash-3.2$ docker run \
>       -it \
>       --name devtest \
>       --mount type=bind,source=/Users/anku/,target=/app \
>       nginx:latest \
>       bash
root@c072896c7bb2:/# 
root@c072896c7bb2:/# pwd
/
root@c072896c7bb2:/# cd app
root@c072896c7bb2:/app# ls
 Applications   Documents   Library   Music  Projects   PycharmProjects   anaconda3  'iCloud Drive (Archive)'  'pCloud Drive'   testrun.bash
 Desktop        Downloads   Movies    Pictures   Public    'VirtualBox VMs'   gitlab      minikube-linux-amd64      starup.sh
root@c072896c7bb2:/app# 

Существует два типа механизмов для управления постоянными данными.

  1. Тома полностью управляются Docker.
  2. Bind Mount , монтирует файл или каталог на хост-машине в контейнер. Синхронизируются любые изменения, сделанные с хост-машины или внутри контейнера.

Предложить от go до Различия между поведением --volume и --mount

Выберите то, что лучше всего подходит для вас.

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