Docker 编写挂载 Windows 文件夹
Docker Compose mount Windows folder
我在 Windows 中使用 Docker 工具箱,并试图在 docker-compose.yml 文件中安装 Windows 文件夹,如下所示:
nginx:
image: nginx:latest
container_name: test_server
ports:
- "80:80"
volumes:
- /sss:/c/data/www:ro
environment:
- VIRTUAL_HOST=test.local
我的objective是挂载C:\data\www
到Docker工具箱已经创建的boot2docker虚拟机镜像,然后从那里挂载到里面的nginx容器它。
很遗憾,它不起作用。我在 boot2docker 图像中得到一个文件夹 sss,但它是空的,没有针对我的 Windows 数据。
我做错了什么?有没有更好的做法以便在开发时在 Windows 上使用 Docker(因此您需要在 Windows、Docker VM 之间共享代码(boot2docker) 和 Docker 个容器)?
My objective is to Mount C:\data\www
to boot2docker VM image
来自“”:
您需要:
修改您的 VirtualBox VM(确保它先停止):
VBoxManage sharedfolder add <machine name/id> --name <mount_name> --hostpath <host_dir> --automount
# in your case
/c/Program\ Files/Oracle/VirtualBox/VBoxManage.exe sharedfolder add default --name www --hostpath 'C:\data\ww' --automount
添加一个automount to your boot2docker VM:
- Edit/create(如
root
)/mnt/sda1/var/lib/boot2docker/bootlocal.sh
,(sda1
对你来说可能不同)
添加
mkdir -p <local_dir>
mount -t vboxsf -o defaults,uid=`id -u docker`,gid=`id -g docker` <mount_name> <local_dir
(您可能需要 add the umask
as in here)
我在 Windows 中使用 Docker 工具箱,并试图在 docker-compose.yml 文件中安装 Windows 文件夹,如下所示:
nginx:
image: nginx:latest
container_name: test_server
ports:
- "80:80"
volumes:
- /sss:/c/data/www:ro
environment:
- VIRTUAL_HOST=test.local
我的objective是挂载C:\data\www
到Docker工具箱已经创建的boot2docker虚拟机镜像,然后从那里挂载到里面的nginx容器它。
很遗憾,它不起作用。我在 boot2docker 图像中得到一个文件夹 sss,但它是空的,没有针对我的 Windows 数据。
我做错了什么?有没有更好的做法以便在开发时在 Windows 上使用 Docker(因此您需要在 Windows、Docker VM 之间共享代码(boot2docker) 和 Docker 个容器)?
My objective is to Mount
C:\data\www
to boot2docker VM image
来自“
您需要:
修改您的 VirtualBox VM(确保它先停止):
VBoxManage sharedfolder add <machine name/id> --name <mount_name> --hostpath <host_dir> --automount # in your case /c/Program\ Files/Oracle/VirtualBox/VBoxManage.exe sharedfolder add default --name www --hostpath 'C:\data\ww' --automount
添加一个automount to your boot2docker VM:
- Edit/create(如
root
)/mnt/sda1/var/lib/boot2docker/bootlocal.sh
,(sda1
对你来说可能不同) 添加
mkdir -p <local_dir> mount -t vboxsf -o defaults,uid=`id -u docker`,gid=`id -g docker` <mount_name> <local_dir
- Edit/create(如
(您可能需要 add the umask
as in here)