我能够运行2个Docker容器。我可以看到它们正在运行,但是看不到实际的服务。
我按照步骤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
答案 0 :(得分:1)
如果我正确理解,您将Vagrant机器中的PostgreSql docker容器作为主机运行。您无法从主机看到容器中正在运行的进程。您可以在容器内运行一个交互式外壳,以查看PostgreSql服务器进程,运行top等。像这样:
docker exec -it <pg-container-id> bash
或
docker exec <pg-container-id> ps
列出进程。
希望有帮助。