http://engineersinkorea.com/2020/01/24/connect-from-local-machine-to-postgresql-docker-container/
$ docker run -d -p 5432:5432 --name my-postgres -e POSTGRES_PASSWORD=my-password my-user
위의 명령은 Docker container로 정의되어있는 PostgreSQL을 시작하고 -p <host_post>:<container_port>
<- 이 부분에 의해서 컨테이너 안의 포트와 실제 내 컴퓨터의 포트가 서로 연동이 되는데요, 위에서는 같은 포트번호를 적어주었으니 PostgreSQL의 기본포트 5432를 컨테이너와 내 컴퓨터의 포트에 연결하겠다는 의미에요. 내 컴퓨터에서 5432포트를 이미 다른 프로그램이 쓰고 있는 경우에는 앞에 포트번호를 다른걸로 바꿔주면 됩니다.
그럼 이제 컨테이너 안으로 들어가서 PostgreSQL데이타베이스에 접속해볼까요? 일단 아래의 명령을 치면 PostgreSQL를 품고 있는 Docker컨테이너에 접속이 됩니다.
$ docker exec -it my-postgres bash
이제 방금 설치한 PostgreSQL에 접속해서 새로운 데이타베이스 mydb
를 만들어볼게요.
root@cb9222b1f718:/# psql -U my-user
psql (10.3 (Debian 10.3-1.pgdg90+1))
Type "help" for help.
postgres=# CREATE DATABASE mydb;
CREATE DATABASE
postgres=#\\q
이제 컨테이너에서 나와서 해당 데이타베이스에 접근할수 있어요
$ psql -h localhost -p 5432 -U my-user -W
Password for user my-user: ****