docker容器挂载host宿主机的本地目录,docker容器与宿主机之间互相拷贝文件
docker容器挂载host宿主机的本地目录,docker容器与宿主机之间互相拷贝文件
参考于:
https://blog.csdn.net/weixin_37773766/article/details/80702926
------------------------------------------------------
1. 创建容器时指定将主机目录挂载到容器中:
docker run -it -v /home/devilmaycry/:/devilmaycry --name devil_pytorch e30c140136d1 /bin/bash
其中,
-v /home/devilmaycry/:/devilmaycry 是将主机目录/home/devilmaycry/ 挂载到容器中的 /devilmaycry 路径下。
--name devil_pytorch 是将所创建的容器命名为 devil_pytorch
e30c140136d1 这里是创建容器所依据的镜像, 是镜像的Id
所创建的容器中 /devilmaycry 路径下文件:
宿主机 host 的 /home/devilmaycry 路径下的文件:
可以看到文件的挂载成功。
---------------------------------------------------------------------
2. 数据卷 方式
该方式的大致意思就是:创建一个容器时使用其他已有容器的挂载信息。这里的数据卷容器我们假设名为 devil_pytorch,创建方式为上述的方式1,devil_pytorch容器在创建时已经将主机 /home/devilmaycry 文件挂载到了容器的 /devilmaycry 路径下, 这时我们创建容器 devil_pytorch_2 , 创建方式具体如下:
docker run -it --volumes-from devil_pytorch --name devil_pytorch_2 e30c140136d1 /bin/bash
--name devil_pytorch_2 是将所创建的容器命名为 devil_pytorch_2
e30c140136d1 这里是创建容器所依据的镜像, 是镜像的Id
这里需要区分的参数为:
--volumes-from devil_pytorch
为新创建的容器指定数据卷。意思就是说新创建的容器其文件挂载的映射关系与已创建容器devil_pytorch相同,
这里就是同样将主机 /home/devilmaycry 文件挂载到新创建容器的 /devilmaycry 路径下。
可以看到新创建容器的 /devilmaycry下文件与主机的 /home/devilmaycry 下相同:
-----------------------------------------------
docker容器与宿主机之间互相拷贝文件
使用 docker cp 命令, 该命令的使用方式与 标准的linux命令 cp 大致相同。
将docker中文件拷贝到主机中:
docker cp <containerId>:/container_file_path /host_file_path
docker cp 977586e250be:/examples /tmp/
977586e250be 为容器Id,
/examples 为容器内文件路径,
/tmp/ 为拷贝到的主机文件路径。
拷贝到的主机文件路径下,其中文件有:
容器中的文件路径下,其中文件有:
拷贝成功。
----------------------------------------------
将主机中文件拷贝到docker容器中:
与上面的类似,为:
docker cp /host_file_path <containerId>:/container_file_path
将主机文件 copy 到 容器中。
-----------------------------------------------------------------------------
posted on 2020-09-29 10:35 Angry_Panda 阅读(4341) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现