PostgreSQL with Docker
docker pull postgres
docker images
docker run -d -p 5432:5432 -e POSTGRES_PASSWORD="password" --name PostgresTest postgres
- Image 를 실행하자.
-d 옵션으로 detached mode 로 background 에서 실행하고
-p 5432:5432 옵션으로 port mapping 해주고
-e POSTGRES_PASSWORD="password" 옵션으로 환경변수에 원하는 DB password 를 지정하고
--name PostgresTest 옵션으로 컨테이너 이름을 지정해주자
sudo docker exec --user="root" -it PostgresTest "bash"
- 실행된 컨테이너로 진입해서,
--user="root" 옵션으로 root user 로 지정하고
-it 옵션으로 컨테이너 쉘을 열어주자
psql -U postgres
- PostgreSQL 을 실행하고,
-U postgres 옵션으로 superuser 인 postgres 로 들어가자
\l
CREATE DATABASE test_db;
\c test_db
\dt
\q
exit
docker stop {CONTAINER_ID}
docker container restart {CONTAINER_ID}
docker rm {CONTAINER_ID}
- 컨테이너를 제거하면 내부 데이터도 모두 제거되기 때문에 Mount 를 연결하는 것 역시 고려할 수 있다.
pgAdmin with Docker

- pgAdmin 실행 후 Add New Server

- General 탭에서 Server 이름을 정해주고

- Connection 탭에서 컨테이너의 주소와 환경변수
POSTGRES_PASSWORD 에 설정한 비밀번호를 지정한 뒤 저장하면

- pgAdmin 과 PostgreSQL 컨테이너가 연결된 것을 확인할 수 있다.
- 미리 생성해둔 test_db 에서 Query Tool 을 열어 SQL 쿼리를 날려보자.
References