gpt4 book ai didi

Docker Compose 挂载 Windows 文件夹

转载 作者:IT老高 更新时间:2023-10-28 21:22:36 25 4
gpt4 key购买 nike

我在 Windows 中使用 Docker Toolbox,并尝试在 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

我的目标是将 C:\data\www 挂载到已经由 Docker Toolbox 创建的 boot2docker VM 镜像,然后从那里挂载到其中的 nginx 容器。

不幸的是,它不起作用。我在 boot2docker 镜像中获得了一个文件夹 sss,但它是空的,没有针对我的 Windows 数据。

我做错了什么?是否有更好的做法可以在开发时在 Windows 上使用 Docker(因此您需要在 Windows、Docker VM (boot2docker) 和 Docker 容器之间共享代码)?

最佳答案

My objective is to Mount C:\data\www to boot2docker VM image

来自“Manually sharing directory as docker volume mounting point”:

你需要:

  • 修改您的 VirtualBox 虚拟机(确保先停止它):

    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 :

    • 编辑/创建(作为 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)

关于Docker Compose 挂载 Windows 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35495639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com