Скопируйте несколько каталогов в другой каталог - PullRequest
0 голосов
/ 02 октября 2018

Как бы вы скопировали несколько каталогов в каталог назначения в Docker?Я не хочу копировать содержимое каталога , но всю структуру каталога.

Команды COPY и ADD копируют содержимое каталога, уплощая структуру, чего я не делаюхочу.То есть, если это мои источники:

.
├── a
│   ├── aaa.txt
│   └── uuu.txt
├── b
│   ├── ooo.txt
│   └── ppp.txt
└── c
    └── jjj.txt

Я хочу, чтобы это было развернуто в образе докера:

code/
├── a
│   ├── aaa.txt
│   └── uuu.txt
├── b
│   ├── ooo.txt
│   └── ppp.txt
└── c
    └── jjj.txt

Я знаю, что могу сделать это:

ADD a /code/a
ADD b /code/b
ADD c /code/c

Но это, по сравнению с командой linux cp, слишком многословно.Он также создает ненужные слои.

Есть ли лучший способ?

1 Ответ

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

Вы можете сделать:

COPY ./ /code/

Он скопирует все из текущей папки в папку / code вашего изображения.

Итак, вы можете создать .dockerignore файл, чтобы предотвратить добавление других файлов / каталогов, тогда a , b и c .Например, d , e и f - это другие каталоги в текущей папке, которые не должны быть в результирующем изображении, тогда как содержимое .dockerignore *Файл 1023 * будет выглядеть следующим образом:

Dockerfile*
d
e
f

Недостатком этого подхода является то, что он также копирует .dockerignore в папку / code .

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