[PostgreSQL] PostgreSQL docker 설치 및 외부접속
환경
- Linux, Centos7
- docker
- PostgreSQL v.14
회사에서 곧 진행할 프로젝트의 데이터베이스 서버 환경 구성을 내가 담당하게 되었다.
너무 좋았다!! 항상 프로젝트에 투입될 때 팀장님이나 대리님이 구성한 서버 위에서 작업을 하였는데,, 이번에는 내가 직접 구성을 하다니! 설렜다!!
구성해야하는 서버는 총 2대로 PostgresSQL을 사용한다. 미리 구성을 해두는 것이라서, postgreSQL을 직접 설치하여 사용하는 것과, 도커 컨테이너로 설치하여 사용하는 것 중 어떤것이 더 나을지 파악하기 위해서 docker 위해 설치해보기로 하였다.
1. Docker volumn 설정
도커위에 데이터베이스 컨테이너를 올릴 때는 볼륨 설정이 필수이다. 도커 컨테이너는 쉽게 올리고 쉽게 지운 후 다시 구성을 할 수 있다는 장점이 있지만, 볼륨 설정이 되지 않는 컨테이너 이미지를 사용하는 경우 안의 내용은 모두 사라지는 단점이 있다.
이렇기에 컨테이너의 볼륨 설정은 생명이다. 특히 데이터베이스라면!!
지난번에 컨테이너 이미지를 떠서 데이터베이스 복제를 하려고 하였을 때 볼륨 설정이 되어 있지 않아, 데이터를 후다닥 날릴 뻔 했다.. 다행히 백업 sql을 떠놔서 작업을 했었다..
$ docker volume create pgdata
2. docker에 디비 설치
컨테이너 설치
$ docker run -p {외부포트}:{컨테이너 포트} --name {컨테이너명} -e POSTGRES_PASSWORD={비밀번호} -d -v pgdata:/var/lib/postgresql/data postgres
DB user 및 스키마 생성
$ docker exec -it postgres bash
alter user postgres password {비밀번호};
create user root with superuser createdb password {비밀번호};
create database dcai with owner postgres encoding 'UTF8';
3. 외부접속 설정
$ docker stop postgres
$ firewall-cmd --permanent --add-port=15432/tcp
$ firewall-cmd --reload
$ docker start postgres
끝!! 도커에 데이터베이스 컨테이너 설정은 아주 간단했다!!
쉽게 생성하고, 제거하고, 복제할 수 있는 장점 만큼 신경 써 줄 부분이 있었다. 도커에 대해서 집중적으로 알아봐야지.
2021.10.31 - [IT story/DB] - [PostgreSQL] PostgreSQL 설치 및 외부접속 허용 (Centos7)
https://judo0179.tistory.com/96