windows宿主机和docker容器设置挂载共享文件夹的步骤

docker容器内的程序经常需要访问、调用宿主机目录中的数据,每次都要导入导出非常麻烦费力。

接下来,一步步实现将宿主机的指定文件夹挂载到docker容器中。

1. 打开Oracle VM VitualBox:

2. 点击【设置】->点击左侧的【共享文件夹】

windows宿主机和docker容器设置挂载共享文件夹的步骤_第1张图片

windows宿主机和docker容器设置挂载共享文件夹的步骤_第2张图片

3. 双击默认的【c/Users \\?\c:\Users】,进行编辑,这里设置D盘下的data为挂载共享目录,名称可修改,此处设为"data"。 点击确定

windows宿主机和docker容器设置挂载共享文件夹的步骤_第3张图片

4. 重启virtualbox虚拟机,中间有等待时间:

windows宿主机和docker容器设置挂载共享文件夹的步骤_第4张图片

5. 创建容器,测试是否能访问共享目录

基于centos镜像创建name为centos-1的容器,并使用参数-v将D:\data目录挂载到容器的/home目录下:

C:\Users\Administrator>docker run -d -it --name centos-1 -v /data:/home centos

9b871d35e1669640dd027a64214b3f78d9faec8b29e91f23aa717d7b7b5036ed

进入容器内部:

C:\Users\Administrator>docker exec -it centos-1 /bin/bash

[root@e952aff59318 /]#

查看/home目录是否和本机的D:\data目录一致 :

[root@e952aff59318 /]# cd home

[root@e952aff59318 home]# ls

a.txt db log sslkey.log

一致则表示挂载成功。

补充知识:docker镜像文件导入与导出,支持批量

工作中经常需要拉取一些国外的镜像,但是网络限制等原因在公司拉取很慢,所以我习惯用亚马逊服务器拉取镜像,导出后下载到本地再导入开发环境

1. 查看镜像id

sudo docker images
REPOSITORY        TAG         IMAGE ID      CREATED       SIZE
quay.io/calico/node   v1.0.1       c70511a49fa1    6 weeks ago     257 MB
hello-world       latest       48b5124b2768    2 months ago    1.84 kB
quay.io/coreos/flannel  v0.7.0       63cee19df39c    2 months ago    73.8 MB
quay.io/calico/cni    v1.5.5       ada87b3276f3    2 months ago    67.1 MB

2. 选择要打包的镜像,执行打包命令

sudo docker save -o quay.io-calico-node-1.tar quay.io/calico/node

会在当前目录下生成导出文件xxx.tar,然后将此文件下载到本地

3. 在开发环境导入上述打包的镜像

docker load -i quay.io-calico-node-1.tar

0a43edc59c00: Loading layer 27.59 MB/27.59 MB
69a5574b2581: Loading layer 3.636 MB/3.636 MB
fb0933709f36: Loading layer 3.913 MB/3.913 MB
7384abd120f5: Loading layer 3.859 MB/3.859 MB
e34911610de0: Loading layer 27.06 MB/27.06 MB
d6ec327c8cbe: Loading layer 6.656 kB/6.656 kB
Loaded image ID: sha256:ada87b3276f307a6b1b1ada15820b6c9842fd839fe5cc46ad5db8af81f7fd271

至此,可以使用本地镜像了!

4. 批量导入导出镜像工具

访问我的github获取

以上这篇windows宿主机和docker容器设置挂载共享文件夹的步骤就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的