Подробное объяснение и реальный случай команды копирования файла в Docker

Подробное объяснение и реальный случай команды копирования файла в Docker

Краткое описание:
Docker — это популярная платформа контейнеризации, предоставляющая легкое портативное решение для развертывания и запуска приложений в различных средах. В Docker копирование файлов — это обычная операция, позволяющая копировать файлы из хост-системы в контейнер или из контейнера в хост-систему. В этой статье будут подробно объяснены команды, связанные с копированием файлов в Docker, и проиллюстрированы реальными случаями.

  1. Команды копирования файлов в Docker
    Docker предоставляет две основные команды для операций копирования файлов: docker cpи COPYинструкции. Использование и значения параметров этих двух команд будут подробно объяснены ниже.

1.1 docker cpКоманды
docker cpКоманды используются для копирования файлов из хост-системы в работающий контейнер или копирования файлов из контейнера в хост-систему.

Формат команды:

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

Описание параметра:

  • OPTIONS: необязательный параметр, используемый для указания некоторых дополнительных параметров, например -aуказания того, что разрешения и атрибуты скопированного файла остаются неизменными.
  • CONTAINER: имя или идентификатор контейнера.
  • SRC_PATH: путь к исходному файлу, который может быть путем в хост-системе или в контейнере.
  • DEST_PATH: путь к целевому файлу, который может быть путем в хост-системе или в контейнере.

Пример использования: скопируйте файл
в хост-системе по пути в контейнере с именем ./path/to/file.txtmycontainer/app/file.txt

docker cp /path/to/file.txt mycontainer:/app/file.txt

mycontainerСкопируйте файлы в контейнер, указанный по пути /app/file.txtв хост-системе /path/to/destination.

docker cp mycontainer:/app/file.txt /path/to/destination

1.2 COPYДирективы
COPYДирективы — это команды, используемые в Dockerfile для копирования файла из хост-системы в контейнер.

Формат инструкции:

COPY [--chown=<user>:<group>] <src>... <dest>

Описание параметра:

  • --chown=<user>:<group>: Необязательный параметр, используемый для указания пользователя и группы пользователей при копировании файлов.
  • <src>: путь к исходному файлу, который может быть путем в хост-системе или относительным путем в каталоге, где находится файл Dockerfile.
  • <dest>: Путь к целевому файлу, указывающий путь в контейнере.

Пример использования: скопируйте файл
в хост-системе по пути в контейнере в Dockerfile./path/to/file.txt/app/file.txt

COPY /path/to/file.txt /app/file.txt
  1. Анализ реального случая
    Чтобы лучше понять метод использования и значение параметров команды копирования файла, мы проанализируем ее на реальном примере.

Предположим, у нас есть приложение на основе Node.js, и нам нужно скопировать файлы исходного кода из хост-системы в контейнер Docker и запустить его в контейнере. Для достижения этой цели мы можем использовать COPYдирективы.

Сначала мы создаем каталог в хост-системе appс именем и помещаем в него файлы исходного кода. Затем используйте директиву в Dockerfile COPY, чтобы appскопировать все файлы из каталога по /usr/src/appпути в контейнере.

Содержимое Dockerfile следующее:

FROM node:14
WORKDIR /usr/src/app
COPY app/ .
CMD [ "node", "app.js" ]

При создании образа Docker движок Docker скопирует appвсе файлы из каталога по /usr/src/appпути в контейнере. Затем мы можем запустить приложение в контейнере.

Вывод:
В этой статье подробно объясняются команды, связанные с копированием файлов в Docker, и объясняются это на реальных примерах. Используя docker cpкоманды и COPYинструкции, мы можем легко копировать файлы между хост-системой и контейнером. Знание того, как использовать эти команды и что означают их параметры, очень важно для разработки и развертывания приложений в Docker.

おすすめ

転載: blog.csdn.net/qq_51447496/article/details/132493141