Команда Docker cp
docker cpКоманда используется для копирования файлов или каталогов между контейнерами Docker и хост-машиной.
docker cpКоманда поддерживает операции копирования файлов из контейнера на хост-машину или с хост-машины в контейнер.
Синтаксис
docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
SRC_PATHИсходный путь (может быть путём внутри контейнера или на хост-машине).CONTAINER: Имя или ID контейнера.DEST_PATHПуть назначения (может быть путём внутри контейнера или на хост-машине).
Копирование файла из контейнера на хост
docker cp my_container:/path/in/container /path/on/host
Скопируйте файл или каталог /path/in/container внутри контейнера my_container в /path/on/host на хост-машине.
Копирование файла с хоста в контейнер
docker cp /path/on/host my_container:/path/in/container
Скопируйте файл или каталог /path/on/host на хост-машине в /path/in/container внутри контейнера my_container.
Копирование каталога из контейнера на хост
docker cp my_container:/path/in/container /path/on/host
Скопируйте каталог /path/in/container и его содержимое внутри контейнера в /path/on/host на хост-машине.
Копирование каталога с хоста в контейнер
docker cp /path/on/host my_container:/path/in/container
Скопируйте каталог /path/on/host и его содержимое на хост-машине в /path/in/container внутри контейнера my_container.
Пример
Копирование файла из контейнера на хост
Запустите контейнер и создайте файл:
docker run -d --name my_container ubuntu bash -c "echo 'Hello, Docker!' > /hello.txt"
Скопируйте файл из контейнера на хост:
docker cp my_container:/hello.txt ./hello.txt
Скопируйте файл /hello.txt внутри контейнера в текущий каталог хост-машины.
Просмотрите содержимое скопированного файла:
cat hello.txt
Вывод:
Hello, Docker!
Копирование файла с хоста в контейнер
Скопируйте файл в контейнер:
docker cp ./hello.txt my_container:/hello.txt
Скопируйте файл hello.txt на хост-машине в /hello.txt внутри контейнера.
Войдите в контейнер, чтобы просмотреть содержимое файла:
docker exec -it my_container cat /hello.txt
Вывод:
Hello, Docker!
Примечания
docker cpКоманда не изменяет исходный файл или каталог; она выполняет только операцию копирования.- Путь назначения должен быть допустимым, и на хост-машине или в контейнере должно быть достаточно прав для выполнения операции записи.
- При работе с большими файлами или каталогами операция копирования может занять некоторое время.
docker cpЭта команда — полезный инструмент, предоставляемый Docker для копирования файлов или каталогов между контейнерами и хост-машиной. Она подходит для таких операций, как резервное копирование, обновление конфигурации и сбор журналов, помогая пользователям удобно управлять файлами в контейнерах и работать с ними.
Другие расширения