Как перенести файлы в контейнер 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:/путь/к/удаленным/файлам/

Leave a Comment

Диагностика Mp3: устранение до 50 проблем с аудиофайлами Mp3

Диагностика Mp3: устранение до 50 проблем с аудиофайлами Mp3

MP3 Diags — это идеальный инструмент для устранения проблем в вашей музыкальной коллекции. Он может корректно проставлять теги в mp3-файлах, добавлять отсутствующие обложки альбомов и исправлять ошибки VBR.

Приложения для уведомлений Google Voice на рабочем столе

Приложения для уведомлений Google Voice на рабочем столе

Как и Google Wave, Google Voice вызвал большой ажиотаж по всему миру. Google стремится изменить способ нашего общения, и поскольку он становится всё более популярным,

Загрузите избранное Flickr с помощью FlickrFaves

Загрузите избранное Flickr с помощью FlickrFaves

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

OK Sampler — бесплатная программа для создания музыкальных семплов

OK Sampler — бесплатная программа для создания музыкальных семплов

Что такое сэмплирование? Согласно Википедии, «это процесс взятия фрагмента, или сэмпла, одной звукозаписи и повторного использования его в качестве инструмента или

Резервное копирование Google Sites: импорт/экспорт

Резервное копирование Google Sites: импорт/экспорт

Google Sites — это сервис от Google, позволяющий пользователям размещать сайты на серверах Google. Но есть одна проблема: встроенная функция резервного копирования отсутствует.

Приложение Google Tasks для ПК

Приложение Google Tasks для ПК

Google Tasks не так популярен, как другие сервисы Google, такие как Calendar, Wave, Voice и т. д., но он по-прежнему широко используется и является неотъемлемой частью жизни людей.

Как восстановить потерянные разделы и данные жесткого диска [Руководство]

Как восстановить потерянные разделы и данные жесткого диска [Руководство]

В нашем предыдущем руководстве по безопасному удалению данных с жесткого диска и съемных носителей с помощью Ubuntu Live и загрузочного CD DBAN мы обсуждали, что диск на базе Windows

Установите пакеты Debian в Arch Linux с помощью Debtap

Установите пакеты Debian в Arch Linux с помощью Debtap

Вы пытаетесь заставить приложение работать на Arch Linux или Manjaro, но не можете найти его в официальных репозиториях программного обеспечения или даже в AUR? Попробуйте Дебтап. Это

Улучшите буфер обмена Gnome Shell с помощью Pano

Улучшите буфер обмена Gnome Shell с помощью Pano

Посмотрим правде в глаза, буфер обмена Gnome Shell по умолчанию не очень хорош. Установите Pano, чтобы улучшить работу с буфером обмена!

Как установить DaVinci Resolve 17 в Linux

Как установить DaVinci Resolve 17 в Linux

Вам нужен отличный нелинейный видеоредактор для Linux? Заставьте Davinci Resolve 17 работать с этим руководством!