宿主机向Docker容器传送文件

本文介绍了如何在安装了docker的宿主机与Docker容器之间进行文件传输。首先,通过`docker ps`获取container_id,然后详细阐述了从宿主机向容器发送文件以及从容器回传文件的步骤,适用于需要在Docker环境中部署和管理文件的场景。

需求:

创建Spark3.1.2的Docker镜像,在安装了docker容器之后并成功启动Docker需要将待创建的文件发到Docker容器中。

docker exec -it e987770d24f3faacda767958ee0fce4fa529a0e85e58b5407bc830cedb27e7ed /bin/sh

一、先在终端登录docker容器

 

二、首先需要知道docker容器的container_id

可以使用docker ps命令来查看你要操作的docker容器的container_id

docker ps -a

复制docker容器的container_id e987770d24f3

三、宿主机向Docker容器传送文件

docker cp /Users/zhangsf/Mac安装包/spark-3.1.2-bin-hadoop2.7.tgz  e987770d24f3:/docker-spark/

四、在Docker容器中查看

 五、Docker容器向宿主机传送文件

docker cp e987770d24f3:/docker-spark/test.txt /Users/zhangsf/Mac安装包/

 

### 如何使用 `docker cp` 命令将容器文件复制到宿主机 `docker cp` 是 Docker 提供的一个便捷工具,允许用户在容器宿主机之间传输文件或目录。以下是关于该命令的具体说明以及如何将其应用于实际场景。 #### 基本语法 `docker cp` 的基本语法如下所示: ```bash docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH ``` 其中: - **CONTAINER**: 容器的名称或 ID。 - **SRC_PATH**: 容器内部源文件或目录的路径。 - **DEST_PATH**: 宿主机目标位置的路径。 此命令支持单个文件或整个目录的复制操作[^4]。 #### 复制单个文件的例子 如果需要从名为 `redis` 的容器中复制 `/data/appendonly.aof` 文件宿主机上的 `/home/docker/redis/conf` 路径,则可以执行以下命令: ```bash docker cp redis:/data/appendonly.aof /home/docker/redis/conf/ ``` 这条命令会将指定的 AOF 配置文件从 Redis 容器复制到宿主机的目标目录下[^2]。 #### 复制整个目录的例子 当涉及到的是一个完整的文件夹而非单一文件时,比如要备份容器内的应用数据或者项目代码库等大型结构化资源时,同样适用 `docker cp` 来完成任务。例如,为了把来自某特定容器 (`container_name`) 中的应用程序根目录(`/app`) 移动到当前用户的桌面环境下的新创建子文件夹(`backup_dir`)里去的话,应该这样写指令: ```bash docker cp container_name:/app /path/to/host_directory/backup_dir ``` 这里展示了怎样通过简单的 shell 输入实现跨平台的数据迁移过程[^5]。 #### 注意事项 虽然 `docker cp` 功能强大且易于使用,但在某些情况下仍需注意一些细节问题以确保最佳实践效果达成: 1. 如果目标路径不存在于宿主机端,在运行过程中将会自动被建立出来; 2. 对权限敏感的操作可能要求管理员身份验证才能顺利完成; 3. 当处理超大尺寸对象时可能会遇到性能瓶颈现象发生;因此建议合理规划存储空间布局并考虑其他替代方案如绑定挂载卷等方式作为补充手段加以利用。 以上就是有关如何运用 `docker cp` 技巧来解决日常开发维护工作中常见的需求解答!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

zhangvalue

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

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

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

打赏作者

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

抵扣说明:

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

余额充值