windows下安装docker后,启动容器,如何进行文件夹的挂载

时间:2024-05-22 17:52:39

问题描述:

最近使用windows安装运行docker,在docker中进行启动程序,当我使用在linux系统的方式用-v 参数,将我windows系统中的某个文件夹与容器中文件夹相挂载时,发现不能成功

原因:

出现这个问题的原因与我之前一篇介绍在容器中启动程序后,不能通过window:port方式访问的原因差不多,可以查看 容器访问

解决办法

1.创建共享文件夹

(1)在自己的windows系统中新建一个文件夹,用于与运行docker的linux系统的文件夹相挂载
(我这里创建的路径是:D:\lwx\jenkins\docker\data)
(2)打开virtualBox,选择default,点击设置–>共享文件夹–>在固定分配下点击新进共享文件夹,输入共享文件夹路径((1)中创建的文件夹),和共享文件夹名称,这里自动挂载不选择,等会手动挂载,可以自己指定挂载目录。点击 OK。
windows下安装docker后,启动容器,如何进行文件夹的挂载

2.在docker的宿主机Linux中进行挂载

使用命令docker-machine ssh default 进入系统中
默认是docker用户,这里需要用root用户,执行命令 sudo -i,切换至root用户
windows下安装docker后,启动容器,如何进行文件夹的挂载
使用 cd / 进入到根目录,查看文件,这里可以自己建一个文件夹作为挂在目录,我这里建的是/mnt/share
windows下安装docker后,启动容器,如何进行文件夹的挂载
使用命令mount -t vboxsf data /mnt/share 将刚刚新建共享文件夹的data与启动docker的系统中的/mnt/share文件挂载起来,这样两边文件会同步变化
windows下安装docker后,启动容器,如何进行文件夹的挂载

3.启动使用

执行两次exit,退出启动docker的系统,回到windows操作,执行docker run进行启动容器,加 -v 参数,进行文件夹挂载,-v param1:param2 ,这里param1是外部文件路径(启动docker系统中,即docker的宿主机),param2是你启动的容器内部文件路径。我这里挂载到/mnt/share/test,因为前面已经将windows上的D:\lwx\jenkins\docker\data与linux系统中的/mnt/share相挂载了,所以我们修改windows上的D:\lwx\jenkins\docker\data\test文件夹就可以直接修改到容器中了。
windows下安装docker后,启动容器,如何进行文件夹的挂载
windows下安装docker后,启动容器,如何进行文件夹的挂载