在不同计算机之间共享Docker卷的最佳方法?

时间:2016-10-20 20:40:24

标签: docker docker-compose dockerfile

我正在使用Docker以及jboss/keycloak-ha-postgrespostgres图片。

我有两个想要分享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

但我不确定在这种情况下做什么是最好的。

0 个答案:

没有答案