Лучший способ разделить объем Docker между разными компьютерами?

#docker #docker-compose #dockerfile

#docker #docker-compose #dockerfile

Вопрос:

Я использую Docker вместе с jboss/keycloak-ha-postgres и postgres изображениями.

У меня есть два разработчика, которые хотят поделиться данными postgres. Я пытаюсь понять, каков наилучший способ сделать это.

Я уже выяснил, как сохранить данные локально, используя volumes атрибут в моем docker-compose.yml файле:

 version: '2'
services:
  db:
    container_name: keycloak-postgres
    image: postgres
    environment:
      POSTGRES_DB: keycloak
      POSTGRES_USER: keycloak
      POSTGRES_PASSWORD: password
    ports:
      - "5432:5432"
    volumes_from:
      - data

  keycloak:
    container_name: keycloak
    image: jboss/keycloak-ha-postgres
    depends_on:
      - "db"
    environment:
      POSTGRES_DATABASE: keycloak
      POSTGRES_USER: keycloak
      POSTGRES_PASSWORD: password
      POSTGRES_PORT_5432_TCP_ADDR: postgres
      POSTGRES_PORT_5432_TCP_PORT: 5432
      KEYCLOAK_USER: admin
      KEYCLOAK_PASSWORD: admin123
    links:
      - "db"
    ports:
      - "8080:8080"

  data:
    container_name: keycloak-postgres-db-data
    image: cogniteev/echo
    command: echo 'Data Container for PostgreSQL'
    volumes:
      - /var/lib/postgresql/data
  

Один из подходов, о котором я думаю, включает в себя создание моего собственного образа Docker (с использованием Dockerfile и с помощью FROM cogniteev/echo ) тома и размещение его на DockerHub. Зафиксируйте и отправьте изменения в данные тома на DockerHub. Тогда мне пришлось бы обновить мой docker-compose.yml файл, чтобы захватить это конкретное изображение вместо cogniteev/echo .

Но я не уверен, что лучше всего сделать в этой ситуации.

Комментарии:

1. Здравствуйте, я понимаю, вы хотите отправить своим разработчикам базу данных, предварительно заполненную данными. Хорошо объясните, что вы хотите сделать с данными. Похоже, вы хотите предоставить общий доступ к файлу данных по общему сетевому пути, чтобы вы могли запустить один postgres от разработчика и одновременно предоставить общий доступ к данным. И это непрактично