代码之家  ›  专栏  ›  技术社区  ›  Sonic Soul

如何在Linux上排除PostgreSQL Docker安装故障

  •  0
  • Sonic Soul  · 技术社区  · 5 年前

    我跟着脚步走 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
    
    1 回复  |  直到 5 年前
        1
  •  2
  •   b0gusb    5 年前

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

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

    docker exec <pg-container-id> ps
    

    希望能有帮助。