如何连接到Docker上运行的PostgreSQL服务器

mac:camden-market dob$ docker-compose ps Name Command State Ports --------------------------------------------------------------------------- camdenmarket_bundle_1 sh Exit 0 camdenmarket_db_1 /docker-entrypoint.sh postgres Up 5432/tcp camdenmarket_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp camdenmarket_solidus_1 ./entrypoint.sh bundle exe ... Exit 2 dmac:camden-market dob$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b5805a802a8a postgres "/docker-entrypoint.s" 17 hours ago Up 17 hours 5432/tcp camdenmarket_db_1 3d4d0bd45e3a redis "docker-entrypoint.sh" 19 hours ago Up 19 hours 6379/tcp camdenmarket_redis_1 

我想连接到像docker(psql …)那样的postgres数据库。
我试过了

 dmac:camden-market dob$ docker run -d -p 5432:5432 postgres:latest postgresdb 197402ae06c352ff70651b2888ee5018948e2151886a498c096501ec545249d2 dmac:camden-market dob$ 

但是产出并不明显。

正如所料,答案非常简单。 从docker ps获取容器ID。 对于我们的postgres示例,这是b5805a802a8a
然后docker exec -it b5805a802a8a psql -Upostgres