gpt4 book ai didi

postgresql - Docker 中的 Postgres;两个实例冲突端口

转载 作者:行者123 更新时间:2023-11-29 12:29:49 25 4
gpt4 key购买 nike

我创建了一个托管 postgres 服务器的 docker 容器。我试图让这个运行的两个实例索引两个完全不同的数据库,因此依赖于一组不同的卷。

我正在一个接一个地运行以下两个命令:

docker run -v ... -p 5432:9001 -P --name psql-data postgres-docker
docker run -v ... -p 5432:9002 -P --name psql-transactions postgres-docker

第一个容器创建并运行,但第二个调用抛出以下错误:

Error response from daemon: failed to create endpoint psql-transactions on network bridge: Bind for 0.0.0.0:5432 failed.  Port already in use.

我发现这有点令人困惑,因为我认为容器的目的是隔离端口绑定(bind)。如果我让两个容器都将 5432 映射到主机上的同一个端口,我可以理解,但我试图将它们分别挂载到 9001 和 9002。

如何防止出现此问题?

最佳答案

端口的顺序应该颠倒过来。应该是-p host_port:container_port

关于postgresql - Docker 中的 Postgres;两个实例冲突端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36428961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com