Как перенести файлы в контейнер Docker

Иногда вам может понадобиться перенести файлы из контейнера Docker в хост-систему для целей резервного копирования и т. д. Это можно легко сделать в Linux с помощью инструмента docker cp . Вот как это использовать.

xr:d:DAFds8YL9ik:2,j:43601822907,t:23032003

Как перенести файлы из контейнера Docker на хост с помощью Docker CP

Если вам нужно перенести файлы за пределы контейнера Docker в хост-систему, самый быстрый и простой способ сделать это — использовать инструмент Docker CP. Для начала войдите на свой сервер через SSH или через физический монитор с терминальным интерфейсом.

После того, как вы вошли в систему, получите доступ к учетной записи Root. Вы можете сделать это двумя способами. Либо с помощью команды su , либо с помощью команды sudo -s .

су

Или

судо -с

После входа в систему выполните команду docker ps . Выполнение этой команды покажет все запущенные контейнеры. Найдите идентификатор контейнера, из которого вы планируете передавать файлы. Затем используйте следующую команду для входа в контейнер.

Примечание: замените $id идентификатором вашего контейнера.

docker exec -it $id /bin/bash

Теперь, когда вы вошли в свой контейнер Docker с помощью приведенной выше команды docker exec , вам нужно будет перемещаться по контейнеру и сжимать файлы, которые вы хотите передать, с помощью Docker CP.

В этом примере мы будем использовать папку «test» в /root/каталоге. Вам нужно будет изменить эту команду в соответствии с вашими потребностями.

tar -czvf my-archive.tar.gz /root/test/

После сжатия файлов выйдите из контейнера. Вы можете выйти из интерфейса терминала в контейнере Docker, используя следующую команду выхода .

Выход

Наконец, перенесите файлы из контейнера в хост-систему.

docker cp CONTAINER_ID:/path/to/archive.tar.gz /host/system/folder/

Передача файлов без сжатия

Хотя не рекомендуется передавать файлы без предварительного сжатия (в целях безопасности), вы можете это сделать. Если вы хотите просто перенести каталог, содержащий некоторые файлы, вот как это сделать.

Сначала определите путь к папке, войдя в контейнер. Вы можете войти в контейнер с помощью команд ниже.

су

docker exec -it $id /bin/bash

После определения пути к папке, которую вы хотите перенести, выйдите из контейнера. Затем выполните следующую команду docker cp .

docker cp CONTAINER_ID:/путь/к/вашей/папке//хост/система/папка/

Как перенести файлы с хоста в контейнер Docker с помощью Docker CP

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

Когда вы найдете файлы, которые хотите передать, используйте следующую команду, чтобы сжать их. Сжатие папки облегчает передачу.

tar -czvf my-archive.tar.gz /путь/к/вашей/папке/

После сжатия вашей папки в архив Tar.GZ вам необходимо получить идентификатор контейнера, в который вы хотите передать файлы. Сначала войдите в систему с помощью su или sudo -s .

су

Или

судо -с

После входа в учетную запись root запустите команду docker ps . Эта команда покажет информацию обо всех запущенных контейнерах. Затем вы можете взять эту информацию и использовать команду docker cp для передачи сжатого архива.

докер пс

docker cp /path/to/my-archive.tar.gz CONTAINER_ID:/path/to/destination/

Передача файлов без сжатия

Если вы хотите перенести в контейнер ничего не сжимая, вот как это сделать. Сначала войдите в систему с помощью su или sudo -s . После того, как вы вошли в систему как пользователь root, найдите путь к папке, которую вы хотите перенести.

Получив путь к папке, используйте команду docker ps , чтобы получить идентификатор контейнера, в который вы хотите передать файлы. Затем используйте следующую команду docker cp , чтобы скопировать файлы в вашу систему.

docker cp /path/to/my/file/folder/ CONTAINER_ID:/path/to/destination/

Как передать файлы из контейнера Docker с хоста с помощью Rsync

Использование команды docker cp должно быть достаточным для передачи файлов на хосты и с них. Однако также можно выполнять Rsync-файлы из контейнера на хост. Имейте в виду, что на хост-компьютере должен быть включен и запущен SSH-сервер.

Для начала войдите в систему как пользователь root на хост-сервере Linux через терминал. Вы можете войти в учетную запись root, используя su или sudo -s . После входа в учетную запись root запустите команду docker ps .

су

Или

судо -с

докер пс

Найдите идентификатор контейнера Docker и войдите в систему, используя приведенную ниже команду. Затем установите средство Rsync с помощью диспетчера пакетов контейнера. Обязательно замените «$id» идентификатором контейнера.

docker exec -it $id /bin/bash

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

rsync -avz -e ssh /путь/к/локальным/файлам/ user@remote:/путь/к/удаленным/файлам/

Оставить комментарий

Как изменить настройки веб-камеры в Linux с помощью Cameractrls

Как изменить настройки веб-камеры в Linux с помощью Cameractrls

Изменяйте настройки веб-камеры в Linux с помощью Cameractrls: настраивайте экспозицию, цвет, подавление мерцания и другие поддерживаемые параметры, а затем проверяйте совместимые видеорежимы.

Как установить PhpStorm на Linux: Toolbox, Tar.gz, Snap и AUR

Как установить PhpStorm на Linux: Toolbox, Tar.gz, Snap и AUR

Установите PhpStorm на Linux с помощью JetBrains Toolbox или автономного архива tar.gz, а также через Snap и Arch AUR. Java уже включена в комплект.

Как создать резервную копию CD-ROM в формате ISO в Linux

Как создать резервную копию CD-ROM в формате ISO в Linux

Создайте образ CD-ROM ISO в Linux с помощью GNOME Disks или dd. Определите оптический привод, отслеживайте процесс копирования, проверяйте образ и узнавайте, когда поврежденный диск или аудиодиск требует использования другого инструмента.

Как вырезать изображение в Linux с помощью GIMP

Как вырезать изображение в Linux с помощью GIMP

Удаление фона фотографии в Linux с помощью GIMP: обведите контур объекта, удалите выделенный фон, сохранив прозрачность, и экспортируйте многоразовый PNG-файл.

Как установить Cisco Packet Tracer на Linux

Как установить Cisco Packet Tracer на Linux

Загрузите Cisco Packet Tracer 9.0.1 для Ubuntu 64-бит, установите DEB-пакет с помощью APT, примите лицензионное соглашение в Терминале и войдите в систему, чтобы начать лабораторную работу.

Скачайте FlightGear бесплатно: официальное руководство по установке

Скачайте FlightGear бесплатно: официальное руководство по установке

Скачайте FlightGear бесплатно с официального сайта. Сравните пакеты для Windows, macOS и Linux, установите файлы данных и совершите свой первый полет.

Настольное приложение Google Tasks: как им пользоваться на компьютере

Настольное приложение Google Tasks: как им пользоваться на компьютере

Откройте Google Задачи в браузере, добавьте ярлык Chrome или запустите приложение, и управляйте задачами с указанием даты через Календарь и Gmail.

OKSampler: Бесплатный и простой музыкальный сэмплер для клавишных ритмов.

OKSampler: Бесплатный и простой музыкальный сэмплер для клавишных ритмов.

OKSampler сопоставляет MP3-клипы с клавишами клавиатуры и может зацикливать аудио. Узнайте, что делает эта старая бесплатная программа, на чем заканчиваются ее старые функции и что нужно проверить перед загрузкой.

Как установить Linux Mint Debian Edition 5 «Elsie» с USB-накопителя

Как установить Linux Mint Debian Edition 5 «Elsie» с USB-накопителя

Загрузите и проверьте архивный ISO-образ LMDE 5, создайте загрузочный USB-накопитель и выберите безопасные параметры установки. Поддержка Elsie прекращена; ознакомьтесь с текущей версией LMDE.

Как играть в DiRT Rally на Linux: настройка Steam и исправления в Proton.

Как играть в DiRT Rally на Linux: настройка Steam и исправления в Proton.

Узнайте, как играть в DiRT Rally на Linux, если у вас уже есть эта игра в Steam: установите нативную сборку, запустите её и используйте Proton только в качестве резервного варианта.