как смонтировать ./project_dir как том в docker-compose в настройках windows / virtualbox - PullRequest
0 голосов
/ 25 июня 2018

Docker-compose.yml хорошо работает на компьютере Mac, но наши разработчики используют компьютеры как Mac, так и Windows (Windows не может использовать Hyper-V из-за других требований к виртуальному ящику.

Возможно предоставить общий доступ к папкечерез интерфейс виртуальной машины по глобальному пути / volume_data_dir

Это, однако, вызывает проблемы между средами, поскольку mac и production используют относительный путь ./volume_data_dir в качестве точки монтирования.

Я также попытался смонтировать папку как/ home / docker / volume_data_dir (/ home / docker - домашняя папка docker внутри virtualbox), но без торта.

Таким образом, мой вопрос: каков каталог для совместного использования томов для docker-compose, работающий внутри vmware?, чтобы иметь возможность монтировать папки, используя относительный путь ./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 Ответ

0 голосов
/ 25 июня 2018

Какой-то хакерский подход, который мне удалось придумать, заключался в использовании переменных 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"

Если у кого-нибудь есть какие-либо более эффективные решения, дайте мне знать!

...