Docker-compose.yml 在 Mac 机器上运行良好,但我们的开发人员同时使用 Mac 和 Windows 计算机(由于其他虚拟机要求,Windows 无法使用 Hyper-V。
可以通过VM接口(interface)通过全局路径/volume_data_dir共享文件夹
但这会导致环境之间出现问题,因为 Mac 和生产环境使用相对路径 ./volume_data_dir 作为挂载点。
我还尝试将文件夹安装为/home/docker/volume_data_dir (/home/docker 是 virtualbox 内 docker 的主文件夹),但没有蛋糕。
因此我的问题是:在 vmware 内运行的 docker-compose 共享卷的目录是什么,以便能够使用相对路径 ./volume_data_dir 挂载文件夹?
有问题的 docker-compose.yml:
version: '3'
services:
django:
container_name: server
restart: always
depends_on:
- db
build:
context: .
dockerfile: dockerfile
image: server
stdin_open: true
tty: true
volumes:
- ./data:/var/www/data
ports:
- "8000:8000"
我已经阅读了 GreensterRox 的非常全面的答案(https://stackoverflow.com/a/48442262/3986395),但不幸的是,它没有帮助
最佳答案
我设法想出的一种 hacky 方法是使用 docker envfile 中定义的 env 变量来传递挂载路径:
version: '3'
services:
django:
container_name: server
restart: always
depends_on:
- db
build:
context: .
dockerfile: dockerfile
image: server
stdin_open: true
tty: true
volumes:
- $VOLUME_MOUNT_PATH:/var/www/data
ports:
- "8000:8000"
如果有人有更好的解决方案,请告诉我!
关于docker - 如何在 windows/virtualbox 设置上将 ./project_dir 作为 docker-compose 中的卷挂载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51015519/