Копирование данных между хостом и контейнером Docker

DockerBeginner
Практиковаться сейчас

Введение

В этом практическом занятии (лабораторной работе) мы попадаем в замечательную Королевскую Магственную Академию, где становимся Королевским Магом. В качестве мага на нас ложится задача овладеть искусством "магии Docker", чтобы безупречно перемещать ценные данные между таинственными мирами хоста и контейнера. Наша конечная цель - овладеть командой docker cp для точного и тонкого перемещения данных туда и обратно.

Передача данных с хоста в контейнер

На этом шаге мы воспользуемся возможностями команды docker cp для передачи магического заклинания (скрипта) с хоста в контейнер.

  1. Сначала создадим файл с именем spell.sh в директории проекта на хосте со следующим содержимым:
#!/bin/bash
echo "Abracadabra! The spell is cast."
  1. Теперь мы передадим это заклинание в директорию /var запущенного Docker - контейнера с именем magic-app с использованием команды docker cp:
docker cp ~/project/spell.sh magic-app:/var/spell.sh

Получение данных из контейнера на хост

На этом шаге мы воспользуемся таинственными возможностями команды docker cp для переноса рецепта мистического зелья из запущенного контейнера обратно на хост.

  1. Сначала убедимся, что в контейнере magic-app в директории /var есть файл potion_recipe.txt, используя следующие команды:
docker exec magic-app /bin/sh -c 'echo "hello" > /var/potion_recipe.txt'
docker exec magic-app ls /var/potion_recipe.txt
  1. Теперь мы "волшебным движением рук" перенесем файл potion_recipe.txt из директории /var контейнера magic-app в директорию проекта на хосте:
docker cp magic-app:/var/potion_recipe.txt ~/project/potion_recipe.txt

Задача для мастерства (опционально)

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

Резюме

В этом практическом занятии (лабораторной работе) мы погрузились в волшебный мир "магии Docker", овладев искусством безупречного копирования данных между хостом и контейнером с использованием команды docker cp. Создав увлекательную сцену в Королевской Магственной Академии, мы обучили начинающих магов применять эту мощную возможность Docker, чтобы они могли уверенно и мастерски использовать ее.