데이터베이스 관리 간소화: Docker 컨테이너에서 PostgreSQL 실행

도커 컨테이너는 데이터베이스를 다양한 환경에 걸쳐 가벼우면서도 휴대 가능하고 일관된 방식으로 배포할 수 있는 방법을 제공합니다. 본 문서에서는 도커 컨테이너에서 PostgreSQL 데이터베이스를 실행하는 과정을 안내하며, 데이터베이스 필요에 유연하고 확장 가능한 솔루션을 제공합니다.

PostgreSQL을 위해 도커를 선택하는 이유?

실제로 어떻게 하는지에 대해 들어가기 전에, PostgreSQL도커 컨테이너에서 실행하는 것이 유익한 이유에 대해 간략히 살펴보겠습니다:

  1. 격리: 도커 컨테이너는 격리된 환경을 제공하여 다른 시스템 구성 요소와의 충돌을 줄입니다.
  2. 휴대성: 컨테이너는 개발, 테스트 및 프로덕션 환경 간에 쉽게 이동할 수 있습니다.
  3. 버전 관리: 도커는 PostgreSQL 버전 및 구성을 정확하게 제어할 수 있습니다.
  4. 빠른 설정: 새로운 PostgreSQL 인스턴스 설정은 몇 분이 걸리는 문제가 아닙니다.
  5. 자원 효율성: 컨테이너는 전통적인 가상 머신에 비해 적은 자원을 사용합니다.

단계별 안내

1. 도커 설치

시스템에 도커가 설치되어 있는지 확인하세요. 운영 체제에 따라 특정 설치 지침이 있는 도커 웹사이트를 방문하세요.

2. PostgreSQL 이미지 다운로드

터미널을 열고 다음을 실행하십시오:

Plain Text

 

docker pull postgres

이 명령은 Docker Hub에서 최신 공식 PostgreSQL 이미지를 다운로드합니다.

3. PostgreSQL 컨테이너 생성 및 실행

다음 명령을 실행하여 새 PostgreSQL 컨테이너를 생성하고 시작합니다:

Plain Text

 

docker run --name my-postgres -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -d postgres

이 명령:

  • 컨테이너의 이름을 “my-postgres”로 지정합니다
  • 슈퍼유저 암호를 설정합니다
  • 컨테이너의 5432 포트를 호스트의 5432 포트로 매핑합니다
  • 컨테이너를 백그라운드 모드로 실행합니다

4. 컨테이너 상태 확인

컨테이너가 실행 중인지 확인하십시오:

Plain Text

 

docker ps

“my-postgres”가 활성 컨테이너 목록에 표시되어야 합니다.

5. 데이터베이스에 연결

다음을 사용하여 PostgreSQL 데이터베이스에 연결하십시오:

Plain Text

 

docker exec -it my-postgres psql -U postgres

이 명령은 컨테이너 내에서 psql 세션을 엽니다.

6. 컨테이너 관리

컨테이너를 중지하려면:

Plain Text

 

docker stop my-postgres

다시 시작하려면:

Plain Text

 

docker start my-postgres

고급 구성

지속적인 데이터 저장

컨테이너 재시작간 데이터 지속성을 위해 볼륨을 마운트하십시오:

Plain Text

 

docker run --name my-postgres -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -v /path/on/host:/var/lib/postgresql/data -d postgres

/path/on/host를 원하는 호스트 머신 경로로 대체하십시오.

사용자 지정 PostgreSQL 구성

사용자 정의 postgresql.conf 파일을 사용하려면:

Plain Text

 

docker run --name my-postgres -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -v /path/to/custom/postgresql.conf:/etc/postgresql/postgresql.conf -d postgres -c 'config_file=/etc/postgresql/postgresql.conf'

베스트 프랙티스 및 보안 고려 사항

  1. 강력한 비밀번호 사용: 프로덕션 환경에서는 mysecretpassword를 강력하고 고유한 비밀번호로 교체하세요.
  2. 정기적인 백업: PostgreSQL 데이터에 대한 백업 전략을 구현하세요.
  3. 네트워크 보안: 데이터베이스 컨테이너를 격리하기 위해 Docker 네트워크 사용을 고려하세요.
  4. 업데이트 유지: 보안 패치를 위해 PostgreSQL 이미지를 정기적으로 최신 버전으로 업데이트하세요.

결론

Docker 컨테이너에서 PostgreSQL을 실행하면 데이터베이스 관리에 유연하고 효율적이며 확장 가능한 솔루션을 제공합니다. 이 가이드를 따르면 관리 및 다양한 시스템에서 재현하기 쉬운 PostgreSQL 환경을 빠르게 설정할 수 있습니다. 개발자, 데이터베이스 관리자 또는 DevOps 전문가에게 이 접근 방식은 데이터베이스 워크플로우를 상당히 간소화하고 전반적인 생산성을 향상시킬 수 있습니다.

Source:
https://dzone.com/articles/running-postgresql-in-docker-containers