首页 文章

如何在windows / virtualbox设置中的docker-compose中将./project_dir挂载为卷

提问于
浏览
1

Docker-compose.yml在mac机器上运行良好,但我们的开发人员同时使用mac和windows计算机(由于其他虚拟盒要求,windows无法使用hyper-v .

可以通过全局路径/ volume_data_dir通过VM接口共享文件夹

然而,这会导致环境之间的问题,因为mac和 生产环境 使用相对路径./volume_data_dir作为安装点 .

我也尝试将文件夹挂载为/ home / docker / volume_data_dir(/ home / docker是虚拟机内的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)的一个非常全面的答案,但不幸的是,它没有帮助

1 回答

  • 1

    我设法提出的一种hacky方法是使用env变量来传递mount路径:

    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"
    

    如果有人有任何更好的解决方案,请告诉我!

相关问题