当前位置: 首页 > 编程笔记 >

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

储志业
2023-03-14
本文向大家介绍windows宿主机和docker容器设置挂载共享文件夹的步骤,包括了windows宿主机和docker容器设置挂载共享文件夹的步骤的使用技巧和注意事项,需要的朋友参考一下

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

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

1. 打开Oracle VM VitualBox:

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

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

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

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容器设置挂载共享文件夹的步骤就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 问题内容: 我在Windows中使用Docker Toolbox,并尝试将Windows文件夹安装在docker-compose.yml文件中,如下所示: 我的目标是将Docker Toolbox已经创建的boot2docker VM映像安装到该映像,然后从该映像加载到其中的nginx容器。 不幸的是,它不起作用。我在boot2docker映像中找到一个文件夹sss,但是它没有指定我的Window

  • 问题内容: 有谁知道如何使用centos基本映像在docker容器中安装nfs共享?我已经尝试过以下命令: 并得到下一个错误: 当我尝试将其与 -o nolock 选项一起使用时,错误是: 问题答案: 对于使用,您需要具有此功能,Docker在创建容器时会丢弃该功能。 有几种解决方案: 用标志启动容器。这将导致Docker保留该功能,从而使您可以从容器内挂载NFS共享。这可能是一个安全问题;不要在

  • 我有一个docker容器运行良好。它在目录中生成一些文件。我需要这些文件做些测试。但当此容器停止时,所有内容都将被删除。所以我需要将这个文件从容器复制到主机。 我有一个python应用程序运行在生成文件的容器中。我需要一些命令或任何方式,通过这些命令,我可以在容器停止时将发送到结尾的主机。 为此,我可以使用命令,我尝试了它,但它给我一个错误,因为没有安装docker。 如何将文件从容器共享到主机?

  • 问题内容: 我有一个在Docker容器中运行的Web应用程序。此应用程序需要访问我们公司文件服务器(带有Active Directory域控制器的Windows Server)上的某些文件。我尝试访问的文件是为我们的客户创建的图像文件,Web应用程序将它们显示为客户产品组合的一部分。 在我的开发机器上,我通过条目安装了适当的文件夹,并且通过参数将主机安装点安装在Docker容器中。这很完美。 现在

  • 问题内容: 我在Win7上运行boot2docker 1.3。 我想连接一个共享文件夹。 在VirtualBox Manager中,在图像属性->共享文件夹下,添加了所需的文件夹,并将其命名为“ c / shared”。选中“自动安装”和“设为永久”复选框。 当boot2docker启动时,它不会被挂载。我必须另外做一件事: 才能显示出来。由于每次使用docker时都需要它,因此我希望它仅在启动时

  • 问题内容: 使用docker客户端,有一种方法可以与docker容器共享Windows中的文件夹,而无需先通过Virtual Box VM共享文件夹。 明白具有从双斜杠的需要这个和这个 从Windows的Docker客户端运行以下命令 但是当在/ development / windev上执行ls时,结果发现它是空的。 当我尝试通过以下命令挂载c / Users / username文件夹时,我没