我能操作两个码头集装箱。我可以看到它们正在运行,但我看不到实际的服务。
我按照here步骤设置了一个新的postgresql实例,并且可以看到它正在运行:

[vagrant@localhost dev]$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                    PORTS                                     NAMES
fe1fd9c362a2        dpage/pgadmin4      "/entrypoint.sh"         15 hours ago        Up 15 hours               80/tcp, 443/tcp, 0.0.0.0:5050->5050/tcp   awesome_yonath
e2dc95062de8        dpage/pgadmin4      "/entrypoint.sh"         15 hours ago        Exited (0) 15 hours ago                                             zealous_boyd
f516085ac3e1        dpage/pgadmin4      "/entrypoint.sh"         15 hours ago        Exited (0) 15 hours ago                                             vibrant_noether
a01d9ec38f17        postgres            "docker-entrypoint.s…"   16 hours ago        Up 16 hours               0.0.0.0:5432->5432/tcp                    pg-docker

但是,当我尝试使用任何postgres命令并运行top时,我看不到服务。
[vagrant@localhost dev]$ psql
bash: psql: command not found...
[vagrant@localhost dev]$ postgres
bash: postgres: command not found...

尝试确定是否需要手动启动服务,或者如何解决此问题
我的安装脚本:
mkdir -p $HOME/docker/volumes/postgres
docker pull postgres:9.6.11
docker run --rm --name pg-docker -e POSTGRES_PASSWORD=docker -d -p 5432:5432 -v $HOME/docker/volumes/postgres:/var/lib/postgresql/data  postgres

最佳答案

如果我理解正确的话,您可以在一台流浪机器中作为主机运行PostgreSql docker容器。您无法从主机上看到容器中运行的进程。您可以在容器中运行一个交互式shell来查看PostgreSql服务器进程、运行top等等。像这样的:

docker exec -it  <pg-container-id> bash


docker exec <pg-container-id> ps

列出过程。
希望有帮助。

09-04 18:39
查看更多