如何在Docker的同一主机上运行多个数据库实例?

时间:2019-11-07 07:32:53

标签: postgresql docker docker-compose

例如,我们有这样的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:

在这里,我们有两个数据库实例,它们分别在单独的主机postgres1postgres2上运行。并且web服务应该可以从一个主机名访问所有这些主机。

无需在Docker外部访问服务,例如第三项服务必须可以从一个主机访问这些数据库。这是使用的系统的限制,它不能处理来自不同主机的数据库。

是否可以将这些实例附加到一个共享主机,例如可以从一台主机访问my_postgres1my_postgres2数据库?

0 个答案:

没有答案