Как скопировать каталог через cp докера? - PullRequest
0 голосов
/ 10 октября 2018

Я хочу скопировать каталог с хоста в контейнер, но я не смог использовать следующую команду:

$ docker cp -r <a-dir> <a-container-ID>:/destination/path
unknown shorthand flag: 'r' in -r

С помощью команды оболочки scp -r я могу это сделать, поэтому я ожидал с помощью docker cp -r тоже.

Как побороть это, не используя make compress .tar файл и его извлечение?

Ответы [ 3 ]

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

По умолчанию это рекурсивно.Он скопирует все, на что вы указываете команду, куда бы ни был пункт назначения в контейнере.

Нет необходимости указывать рекурсив.

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

Вы можете скопировать каталог следующим образом:

docker cp /tmp/test mydocker:/tmp/test
0 голосов
/ 10 октября 2018

Цитирование docs :

Команда cp ведет себя как команда Unix cp -a в том, что каталоги копируются рекурсивно с сохранением разрешений, если это возможно.

- https://docs.docker.com/engine/reference/commandline/#extended-description

Так что docker cp не имеет и не нуждается в флаге -r.Просто опустите это.Как это:

# Create a directory and put two files in it
$ mkdir testdir && touch testdir/aaa testdir/bbb

# Make sure files are there
$ ls -la testdir
total 384
drwxr-xr-x 1 jannisbaratheon 197121 0 paź 10 15:15 ./
drwxr-xr-x 1 jannisbaratheon 197121 0 paź 10 15:15 ../
-rw-r--r-- 1 jannisbaratheon 197121 0 paź 10 15:15 aaa
-rw-r--r-- 1 jannisbaratheon 197121 0 paź 10 15:15 bbb

# Create container and fetch its ID
$ export CONTAINER_ID=`docker run -di alpine:3.8 sh`

# Make sure the target directory does not exist
$ docker exec "$CONTAINER_ID" sh -c 'ls -la /containertestdir'
ls: /containertestdir: No such file or directory

# Copy the files with 'docker cp'
$ docker cp testdir "$CONTAINER_ID":/containertestdir

# Verify the files were copied by running 'ls -la' in the container
$ docker exec "$CONTAINER_ID" sh -c 'ls -la /containertestdir'
total 8
drwxr-xr-x    2 root     root          4096 Oct 10 13:15 .
drwxr-xr-x    1 root     root          4096 Oct 10 13:15 ..
-rwxr-xr-x    1 root     root             0 Oct 10 13:15 aaa
-rwxr-xr-x    1 root     root             0 Oct 10 13:15 bbb
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...