이 글은 Docker에 대한 전반지식과 Database에 대한 기본 지식이 있다는 전제하게 쓰여졌습니다. 그점 양해부탁드려요.
Docker가 있어서 PostgreSQL을 설치하고 관리하기가 참 쉬워진거 같아요. 그냥 아래 명령을 날리면 바로 Local에 설치, 실행이 되거든요.
$ 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: ****
자 이제 그 안에 table도 만들고 하시면 됩니다. PostgreSQL명령어에 익숙하지 않으신 분들은 PgAdmin
같은 Graphic UI 툴을 설치하셔서 편리하게 이용하셔도 좋을것 같아요. 그럼 오늘도 좋은 하루 되세요!