Docker容器与宿主机、容器与容器之间的文件拷贝

本文详细介绍了如何在Docker容器与宿主机、容器与容器之间进行文件拷贝,包括使用dockercp命令、宿主机目录映射以及注意事项。
摘要由CSDN通过智能技术生成

一、需求描述

日常工作中操作docker容器,经常需要在容器和主机之间进行文件拷贝。

docker cp 命令用于在 docker 容器和宿主机之间复制文件或目录,可以帮助我们完成对应的工作。

本文说明如何实现在容器与宿主机、容器与容器之间进行文件拷贝。

二、docker容器与宿主机之间文件交换

2.1 从宿主机复制到容器

语法格式:

sudo docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

参数:

  • CONTAINER:SRC_PATHDEST_PATH|-

    CONTAINER:SRC_PATH 指定了容器内的源文件或目录的路径,而 DEST_PATH|- 则指定了宿主机上的目标路径,或者通过 - 使用标准输入/输出设备以流的方式读取或写入 tar 文件。

  • [OPTIONS]

    可选参数OPTIONS,目前唯一的选项是 --follow-link-L,这个选项让命令总是遵循 SRC_PATH 中的符号链接。

示例:

# 创建容器
sudo docker run -it -d --name=ubun20 ubuntu:20.04 /bin/bash

# 拷贝文件到容器
sudo docker cp /home/username/Download/atest.zip ubun20:/root/.

2.2 从容器复制到宿主机

语法格式:

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-

参数:

  • CONTAINER:SRC_PATHDEST_PATH|-

    CONTAINER:SRC_PATH 指定了容器内的源文件或目录的路径,而 DEST_PATH|- 则指定了宿主机上的目标路径,或者通过 - 使用标准输入/输出设备以流的方式读取或写入 tar 文件。

  • [OPTIONS]

    可选参数OPTIONS,目前唯一的选项是 --follow-link-L,这个选项让命令总是遵循 SRC_PATH 中的符号链接。

示例:

# 创建容器
sudo docker run -it -d --name=ubun20 ubuntu:20.04 /bin/bash

# 拷贝文件到容器
sudo docker cp /home/username/Download/atest.zip ubun20:/root/.

# 将拷贝到容器的文件拷贝到宿主机另一个文件夹
sudo docker cp ubun20:/root/atest.zip /home/username/.

2.3 docker cp 操作注意

  • 被操作的容器可以是运行状态,也可以是停止状态。
  • 有些路径是不能复制的,例如 /proc/sys/devtmpfs 以及容器中通过 mount 命令挂载的路径。

2.4 另一种方式

创建容器时,通过-v参数映射宿主机目录到容器目录,可以通过映射的目录进行文件交换;

这种方式在宿主机内、容器内都是通过普通的cp命令即可

示例:

# 创建容器,带目录映射
sudo docker run -it -d --name=ubun20 -v /home/username/testdocker:/root/test ubuntu:20.04 /bin/bash

# 拷贝文件,容器中可以用/root/test/atest.zip进行访问
sudo cp /home/username/Download/atest.zip /home/username/testdocker/.

三、容器之间文件交换

  • 容器之间不能直接拷贝文件
  • 可以通过以下两步操作实现容器之间文件交换
    1. 从容器1拷贝到宿主机
    2. 从宿主机拷贝到容器2

may the odds be ever in your favor ~

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长孤秋落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值