Docker Pgadmin 4

时间:2018-01-01 01:05:53

标签: docker pgadmin pgadmin-4

修改

原来是图片有问题,我尝试了另一个问题,但效果很好

我正在尝试使用Debian 9上的Docker将Pgadmin 4作为服务器模式运行。我已按照https://hub.docker.com/r/dpage/pgadmin4/上的说明操作。我通过以下命令启动它

docker run -p 5050:5050 -e "PGADMIN_DEFAULT_EMAIL=myemail@gmail.com" -e "PGADMIN_DEFAULT_PASSWORD=a12345678" -d  dpage/pgadmin4

我没有收到任何错误,docker ps显示状态如下

root@poweredge:~# docker ps
CONTAINER ID        IMAGE               COMMAND                 CREATED             STATUS              PORTS                                     NAMES
c4b11e4bceb7        dpage/pgadmin4      "/bin/bash /entry.sh"   12 seconds ago      Up 10 seconds       80/tcp, 443/tcp, 0.0.0.0:5050->5050/tcp   upbeat_jackson

但是当我去serverip:5050什么都没有加载。知道问题可能在这里吗?

执行curl http://localhost:5050时在本地计算机上如果docker实例正在运行,我会得到Connection reset by peer

root@poweredge:~# curl http://localhost:5050
curl: (56) Recv failure: Connection reset by peer

如果我停止Docker实例,我会得到

root@poweredge:~# curl http://localhost:5050
curl: (7) Failed to connect to localhost port 5050: Connection refused

2 个答案:

答案 0 :(得分:5)

PgAdmin 4 docker容器默认暴露了端口80和443。你可以在这里查看Dockerfile https://github.com/postgres/pgadmin4/blob/master/pkg/docker/Dockerfile

因此必须更新命令中的端口映射参数(-p host_port:container_port)

以下是通过http(端口80)

访问pgadmin4的更新命令

docker run -p 5050:80 -e "PGADMIN_DEFAULT_EMAIL=myemail@gmail.com" -e "PGADMIN_DEFAULT_PASSWORD=a12345678" -d dpage/pgadmin4

启动容器后,您应该可以通过http://localhost:5050

访问它

答案 1 :(得分:0)

您是否尝试在虚拟机旁边访问它?如果是,请检查您是否正确设置了虚拟机的端口转发规则:enter image description here