简体   繁体   English

连接 pgadmin 容器和 postgres 容器

[英]connecting pgadmin container and postgres container

using UBUNTO OS使用 UBUNTO 操作系统
have downloaded the postgres and pgadmin images and ran the containers已经下载了 postgres 和 pgadmin 镜像并运行了容器

postgres command postgres命令
sudo docker run --name some-postgres -e POSTGRES_PASSWORD=XYZ_PW -p 5432:5432 -d postgres sudo docker run --name some-postgres -e POSTGRES_PASSWORD=XYZ_PW -p 5432:5432 -d postgres

pgadmin command pgadmin 命令
sudo docker run --name pgadmin --link some-postgres:postgres -p 80:80 -d fenglc/pgadmin4 sudo docker run --name pgadmin --link some-postgres:postgres -p 80:80 -d fenglc/pgadmin4

then ensured that both the containers are running like below然后确保两个容器都像下面一样运行

sudo docker container ls 
CONTAINER ID   IMAGE             COMMAND                  CREATED              STATUS              PORTS                                         NAMES
3bf1e2bcf5e7   fenglc/pgadmin4   "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:80->80/tcp, :::80->80/tcp, 5050/tcp   pgadmin
b21c2bda2cff   postgres          "docker-entrypoint.s…"   13 minutes ago       Up 13 minutes       0.0.0.0:5432->5432/tcp, :::5432->5432/tcp     some-postgres

now issue is when trying to access pgadmin @ localhost/ or localhost:80 it is showing connection reset error现在的问题是在尝试访问 pgadmin @localhost/ 或 localhost:80 时显示连接重置错误
访问 pgadmin 时出错

also below is the result of docker inspect pgadmin下面也是 docker 检查 pgadmin 的结果

"NetworkSettings": { "Bridge": "", "SandboxID": "fb4f3dcf1eed267055060b945ba8fb4bff372873d1cc179a24c934c883c1d100", "HairpinMode": false, "LinkLocalIPv6Address": "", "LinkLocalIPv6PrefixLen": 0, "Ports": { "5050/tcp": null, "80/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "80" }, { "HostIp": "::", "HostPort": "80" } ] }, "SandboxKey": "/var/run/docker.netns/fb4f3dcf1eed", "SecondaryIPAddresses": null, "SecondaryIPv6Addresses": null, "EndpointID": "879f386a86712d2699373ef8667b07984db337e7267a2381da69cdbc5405251e", "Gateway": "XXXX.XX.0.1", "GlobalIPv6Address": "", “NetworkSettings”:{“Bridge”:“”,“SandboxID”:“fb4f3dcf1eed267055060b945ba8fb4bff372873d1cc179a24c934c883c1d100”,“HairpinMode”:false,“LinkLocalIPv6Address”:“”,“LinkLocalIPv6PrefixLen”:0,“Ports50”:{/ null, "80/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "80" }, { "HostIp": "::", "HostPort": "80" } ] }, "SandboxKey": "/var/run/docker.netns/fb4f3dcf1eed", "SecondaryIPAddresses": null, "SecondaryIPv6Addresses": null, "EndpointID": "879f386a86712d2699373ef8667b07984db337e7267a2381da69cdbc5405251e", "Gateway": "XXXX.XX.0.1", " GlobalIPv6Address": "",

Regards, Ashish问候, 阿希什

fengic/pgadmin4 listens on port 5050. Not on port 80. So your docker run command needs to be fengic/pgadmin4 侦听端口 5050。不在端口 80。所以你的docker run命令需要是

sudo docker run --name pgadmin --link some-postgres:postgres -p 80:5050 -d fenglc/pgadmin4

Then you should be able to access pgadmin on localhost port 80.然后你应该能够在本地主机端口 80 上访问 pgadmin。

Be aware that links are an outdated way of connecting containers and the feature may be removed at some point.请注意,链接是连接容器的过时方式,该功能可能会在某个时候被删除。 The recommended way to connect containers is using docker.networks.连接容器的推荐方法是使用 docker.networks。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM