修改
原来是图片有问题,我尝试了另一个问题,但效果很好
我正在尝试使用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
答案 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)