Создание общего каталога между контейнерами с docker -compose - PullRequest
0 голосов
/ 28 апреля 2020
Приложение

My Flask (webapp) содержит две директории (для загрузки и изображения). Я хочу, чтобы мой второй контейнер (rq-worker) имел к ним доступ, чтобы он мог что-то взять из загрузок и сохранить обратно в изображения. Как я могу организовать это внутри моего docker -compose.yml?

version: '3.5'

services:

  web:
    build: ./webapp
    image: webapp
    container_name: webapp
    ports:
      - "5000:5000"
    depends_on:
      - redis-server
      - mongodb

  redis-server:
    image: redis:alpine
    container_name: redis-server
    ports:
      - 6379:6379

  mongodb:
    image: mongo:4.2-bionic
    container_name: mongodb
    ports:
      - "27017:27017"

  rq-worker:
    image: jaredv/rq-docker:0.0.2
    container_name: rq-worker
    command: rq worker -u redis://redis-server:6379 high normal low
    deploy:
      replicas: 1
    depends_on:
      - redis-server

  dashboard:
    build: ./dashboard
    image: dashboard
    container_name: dashboard
    ports:
      - "9181:9181"
    command: rq-dashboard -H redis-server
    depends_on:
      - redis-server

1 Ответ

0 голосов
/ 28 апреля 2020

Вам потребуется указать такой объем:

volumes:
  data-volume:

, а затем присоединить его к вашим услугам, например, для web:

  web:
    build: ./webapp
    image: webapp
    container_name: webapp
    ports:
      - "5000:5000"
    depends_on:
      - redis-server
      - mongodb
    volumes:
      - data-volume:/my/mnt/point

В документации есть больше информации, а также о том, как настроить драйвер тома, например, если вы хотите иметь том в NFS. Кроме того, в этом списке доступны плагины томов, которые позволяют Docker томам сохраняться на нескольких Docker хостах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...