我正在使用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
。
但我不确定在这种情况下做什么是最好的。