在运行Docker容器的时候,需要指定网络模式,并保证所有容器在同一个网络中。以下是运行两个Docker容器并创建一个自定义网络的示例代码:
docker network create mynetwork
docker run -d --name=postgres-master --network=mynetwork -p 5432:5432 -e POSTGRESQL_PASSWORD=password bitnami/postgresql-repmgr:latest
docker run -d --name=postgres-slave --network=mynetwork -p 5433:5432 -e POSTGRESQL_REPMGR_MODE=slave -e POSTGRESQL_REPMGR_PRIMARY_HOST=postgres-master bitnami/postgresql-repmgr:latest
在这个示例中,我们首先创建了一个名为“mynetwork”的自定义网络。然后,我们运行了两个Docker容器:其中一个是主库(postgres-master)容器,另一个是从库(postgres-slave)容器。每个容器都在“mynetwork”网络中运行,并分别将端口映射到主机上的不同端口,以便我们可以访问它们。
注意,我们在从库容器中使用了POSTGRESQL_REPMGR_PRIMARY_HOST环境变量,将其设置为主库容器的名称(postgres-master)。这样,从库容器就可以找到主库容器并加入复制集群。
通过这种方式,我们可以确保所有Docker容器在同一个网络中,并且可以相互通信和找到彼此。
上一篇:bitnami/mongodbdocker容器因配置文件权限被拒绝而无法启动。
下一篇:bitnami/schema-registry和apicurio/schema-registry for Kafka之间有什么区别?