我试图通过在'-p'中将端口设置为参数来在其他端口上运行PostgreSQL实例,但是它似乎没有任何作用。
例如:
docker run --name db_Dev -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=postgresDev -p 7432:7432 postgres:10.5
输出:
2019-09-15 17:50:29.494 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
2019-09-15 17:50:29.494 UTC [1] LOG: listening on IPv6 address "::", port 5432
有什么想法要为此设置一个不同的端口吗? 谢谢
答案 0 :(得分:3)
如果您要运行多个postgres实例或更改postgres的侦听端口,请遵循此步骤。
docker run --name db_Dev -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=postgresDev -p 7432:5432 postgres:10.5
-p 7432:5432
会将postgres容器内的端口5432映射到主机的端口7432。
OR
您可以通过将环境变量PGPORT
设置为7432
来更改postgres的侦听端口5432。
docker run --name db_Dev -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=postgresDev -e PGPORT=7432 -p 7432:7432 postgres:10.5
注意:如果PGPORT
不起作用,请尝试POSTGRES_PORT
。
希望这会有所帮助。