Docker でホストとコンテナ間のデータをコピーする

DockerDockerBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、魅惑的な王立魔法学院に身を置き、王立魔法使いの役割を担います。魔法使いとして、私たちは Docker の魔法の技術を習得し、ホストとコンテナの神秘的な領域間で貴重なデータをシームレスに転送する任務を負っています。最終的な目標は、docker cp コマンドを巧みに使って、データをきめ細かく正確にやり取りすることです。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/VolumeOperationsGroup(["Volume Operations"]) docker/VolumeOperationsGroup -.-> docker/cp("Copy Data Between Host and Container") subgraph Lab Skills docker/cp -.-> lab-271457{{"Docker でホストとコンテナ間のデータをコピーする"}} end

ホストからコンテナへのデータ転送

このステップでは、docker cp の力を借りて、ホストからコンテナに魔法の呪文スクリプトを転送します。

  1. まず、ホストのプロジェクトディレクトリに spell.sh という名前のファイルを、以下の内容で作成しましょう。
#!/bin/bash
echo "Abracadabra! The spell is cast."
  1. 次に、docker cp コマンドを使用して、この呪文を実行中の magic-app という名前の Docker コンテナ内の /var ディレクトリに転送します。
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. 次に、magic-app コンテナ内の /var ディレクトリから potion_recipe.txt をホストのプロジェクトディレクトリに転送します。
docker cp magic-app:/var/potion_recipe.txt ~/project/potion_recipe.txt

習得チャレンジ(オプション)

習得を目指す魔法使いとして、docker cp コマンドを使ってホストとコンテナ間で神秘的なアーティファクトが入ったディレクトリ全体を転送するチャレンジに挑んでみましょう。あなたの魔法の腕前で講師たちを驚かせましょう!

まとめ

この実験では、Docker の魔法の魅力的な世界に飛び込み、docker cp コマンドを使ってホストとコンテナ間でデータをシームレスにコピーする技術を習得しました。王立魔法学院の魅力的なシナリオを通じて、将来の魔法使いたちがこの強力な Docker のスキルを身に付け、自信を持って巧みに使えるようになりました。