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 到 容器中。
-----------------------------------------------------------------------------
docker容器挂载host宿主机的本地目录,docker容器与宿主机之间互相拷贝文件的更多相关文章
- 用Python删除本地目录下某一时间点之前创建的所有文件
因为工作原因,需要定期清理某个文件夹下面创建时间超过1年的所有文件,所以今天集中学习了一下Python对于本地文件及文件夹的操作.网上 这篇文章 简明扼要地整理出最常见的os方法,抄袭如下: os.l ...
- docker挂载本地目录和数据卷容器
1.docker挂载本地目录 docker可以支持把一个宿主机上的目录挂载到镜像里. 交互模式运行docker run -it -v /home/dock/Downloads:/usr/Downloa ...
- [转] docker基础知识之挂载本地目录
[From] https://blog.csdn.net/huludan/article/details/52641090 https://my.oschina.net/piorcn/blog/324 ...
- 转:Docker学习---挂载本地目录
原文: http://my.oschina.net/piorcn/blog/324202 docker可以支持把一个宿主机上的目录挂载到镜像里 docker run -it -v /home/dock ...
- Docker的Mysql数据库:把数据存储在本地目录
Docker mysql 把数据存储在本地目录,很简单,只需要映射本地目录到容器即可 1.加上-v参数 $ docker run -d -e MYSQL_ROOT_PASSWORD=admin --n ...
- Docker Toolbox在window 10 home 下挂载宿主机目录到容器的正确操作
由于我是window 10 home 而不是 pro版本,只能使用Docker Toolbox,其实docker for window对windows的支持更好,还有GUI,home版本安装Docke ...
- [HACK] docker runtime 挂载宿主机目录
网上看到的很多所谓的挂载都是容器创建时期的挂载,而且参数都不清不楚,整理如下(--name别名自己加): docker run -v /src/path:/dest/path:rw ${IMAGE} ...
- Docker容器挂载宿主目录的情形分析
Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定. 譬如我要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定: # docker ...
- 宿主机-免密登录Docker容器
CentOS7 安装Docker 讨论QQ:1586558083 目录 一.检查系统内核 二.安装Docker 2.1 安装 2.2 查看docker版本 2.3 启动docker 三.建立docke ...
- 从Docker容器内部,如何连接到本机的本地主机?
原文 从Docker容器内部,如何连接到本机的本地主机? 编辑:如果您使用的是Docker-for-mac或Docker-for-Windows 18.03+,只需使用主机连接到您的mysql服务即可 ...
随机推荐
- 使用 INFINI Console 实现 Elasticsearch 的增量数据迁移
功能介绍 # 在 INFINI Console 1.3.0 版本里,数据迁移功能增加了对增量迁移的支持.这篇文章将会介绍增量迁移的具体使用方法和实现原理. 场景介绍 # 以常见的日志场景为例,假设 A ...
- SQL SERVER 同一台服务器,A库正常连接,B库提示“等待的操作过时”
SQL SERVER 同一台服务器,A库正常连接,B库提示"等待的操作过时" 解决方法: 在客户端(非SQL SERVER 服务器)用管理员身份运行CMD,输入netsh wins ...
- mysql5.7msi安装
本文介绍的是只安装MySQL数据库的过程,并不包含各种其他附加工具.安装完成之后通常使用Navicat或SQLyog进行可视化操作. 清华的镜像网站只保存最新的几个MySQL版本,所以直链可能已经失效 ...
- Android自动化无障碍服务开源库-Assists v3.0.0
Assists v3.0.0 Android无障碍服务(AccessibilityService)开发框架,快速开发复杂自动化任务.远程协助.监听等 Android无障碍服务能做什么 利用Androi ...
- Vim有哪几种模式?
Vim有哪几种模式? 模式一:normal模式 作用主要是用来浏览,输入各种和在文档中移动. 模式二:编辑模式 用于对文件的编辑: 常用的插入命令: a在光标位置后编辑, i在光标位置前编辑, o在下 ...
- 在Linux驱动中使用gpio子系统
reference: https://blog.csdn.net/shiyongyue/article/details/75103446 http://blog.rongpmcu.com/gpiozi ...
- Linux Redis 服务设置开机自启动
@ 目录 前言 一.准备工作 二.操作步骤 2.1 修改redis.conf文件 2.2 创建启动脚本 2.3 设置redis 脚本权限 2.4 设置开机启动 2.5 验证 总结 前言 请各大网友尊重 ...
- 3568F-Docker容器部署方法说明
- 好消息!数据库管理神器 Navicat 推出免费精简版:Navicat Premium Lite
前言 好消息,前不久Navicat推出了免费精简版的数据库管理工具Navicat Premium Lite,可用于商业和非商业目的,我们再也不需要付费.找破解版或者找其他免费平替工具了,有需要的同学可 ...
- Linux使用Mysql数据库
启动MySQL: service mysqld start 或者使用如下命令: /etc/init.d/mysqld start 重新启动MySQL: service mysqld restart 或 ...