Docker의 최신 릴리스는 하이퍼 바이저를 사용하여 컨테이너에 연결하는 대신 가상 시스템을 더 이상 사용하지 않습니다. 이것은 내가 더 이상 로그인 psql
와 포스트 그레스 없다 할 수 있다는 것을 의미합니다 :Mac의 Docker (1.12.0) 컨테이너에서 Postgres 서버에 연결하는 방법은 무엇입니까?
➜ postgres git:(master) ✗ docker run -d -p 5433:5432 db postgres
<sha>
➜ postgres git:(master) ✗ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
111f3bed4c52 db "/docker-entrypoint.s" 17 minutes ago Up 17 minutes 0.0.0.0:5433->5432/tcp zen_hugle
➜ postgres git:(master) ✗ psql -p 5433 -U postgres
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5433"?
을 나는 또한 호스트로 로컬 호스트를 지정 시도,하지만 이상한 출력 결과 :
➜ postgres git:(master) ✗ psql -h localhost -p 5433 -U postgres
psql: %
사람이 무엇을 알고 있나요 이 경우에는? 고맙습니다.
참고로 VirtualBox가 아닌 VM을 사용합니다. Mac에서는 xhyve Virtual Machine을 사용하지만 네트워킹에는 Unix 소켓을 사용합니다. '기본'모델 (예 : 프로덕션 시스템을보다 자세히 모방)이 필요한 경우 기존 VM 환경을 사용하는 것이 좋습니다. – ldg
당신의 run 문에서'docker run -d -p 5433 : 5432 --name = db postgres' 여야합니다. – ldg