例如,我们有这样的docker-compose
配置:
version: '3'
services:
web:
build:
context: .
dockerfile: Dockerfile
ports:
- "8069:8069"
volumes:
- .:/code
depends_on:
- postgres1
- postgres2
postgres1:
image: postgres:11
environment:
- POSTGRES_DB=my_postgres1
- POSTGRES_PASSWORD=password
- POSTGRES_USER=user
volumes:
- postgres1:/var/lib/postgresql/data
postgres2:
image: postgres:11
environment:
- POSTGRES_DB=my_postgres2
- POSTGRES_PASSWORD=password
- POSTGRES_USER=user
volumes:
- postgres2:/var/lib/postgresql/data
volumes:
postgres1:
postgres2:
在这里,我们有两个数据库实例,它们分别在单独的主机postgres1
和postgres2
上运行。并且web
服务应该可以从一个主机名访问所有这些主机。
无需在Docker外部访问服务,例如第三项服务必须可以从一个主机访问这些数据库。这是使用的系统的限制,它不能处理来自不同主机的数据库。
是否可以将这些实例附加到一个共享主机,例如可以从一台主机访问my_postgres1
和my_postgres2
数据库?