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 技能,确保他们能够自信且娴熟地运用它。

您可能感兴趣的其他 Docker 教程