안녕하세요!
오늘은 Docker에서 PostgreSQL 설치하는 방법을 포스팅하려고 합니다. PostgreSQL은 서버에 직접 설치하고 구성하는 데 필요한 많은 단계와 설정이 필요할 수 있습니다. 그러나 Docker를 이용하면 PostgreSQL을 간단하게 설치하고 실행할 수 있으며, 이로 인해 다양한 이점을 누릴 수 있습니다.
Docker를 이용하면 PostgreSQL을 컨테이너로 실행하여 별도의 서버 환경 설정이 필요 없습니다. 또한 Docker 이미지를 활용하여 PostgreSQL을 일관된 환경에서 배포하고 관리할 수 있으며, 다양한 환경에서의 이식성도 보장됩니다.
이번 포스팅에서는 Docker를 이용하여 PostgreSQL을 빠르게 설치하고 실행하는 방법을 자세히 살펴보도록 하겠습니다.
그럼 시작해 보겠습니다!
1. Docker 이미지 가져오기
docker pull postgres
터미널 또는 명령 프롬프트에서 위의 명령을 실행하여 Docker Hub에서 PostgreSQL 이미지를 가져옵니다.
- 명령 실행 결과
명령을 실행하게 되면 위와 같이 이미지를 가져와 설치가 됩니다.
2. 이미지 설치 확인
docker images
Docker Hub에서 pull 받은 이미지를 확인하기 위해 위의 명령을 실행합니다.
- 명령 실행 결과
위의 실행 결과를 보게 되면 마지막 라인에 postgres 이미지가 정상적으로 설치된 것을 확인할 수 있습니다.
3. 컨테이너 생성 및 실행
docker run --name my_postgres -e POSTGRES_PASSWORD=1234 -p 5432:5432 -d postgres
postgres 이미지의 설치가 정상적으로 진행됐다면 위의 명령을 통해서 설치된 이미지로 컨테이너를 생성하고 실행할 수 있습니다.
- 명령어 설명
docker run
Docker 컨테이너를 생성하고 실행하는 명령입니다.
--name my_postgres
컨테이너의 이름을 'my_postgres'로 지정합니다. 컨테이너의 이름은 원하는 이름으로 변경할 수 있습니다.
-e POSTGRES_PASSWORD=1234
컨테이너 내의 PostgreSQL 데이터베이스에 대한 비밀번호를 '1234'로 설정합니다. 해당 설정값은 원하는 비밀번호로 변경할 수 있습니다.
-p 5432:5432
호스트의 5432 포트와 컨테이너의 5432 포트를 매핑합니다. PostgreSQL은 5432 포트에서 기본 실행되므로 호스트에서도 해당 포트로 접근할 수 있게 됩니다.
-d postgres
Docker Hub에서 가져온 PostgreSQL 이미지를 사용하여 컨테이너를 생성하고 백그라운드에서 실행합니다.
위의 설정을 기본으로 명령을 실행하게 되면 `my_postgres'라는 이름의 PostgreSQL 컨테이너가 생성되며, 호스트의 5432 포트와 컨테이너의 5432 포트가 매핑됩니다.
- 생성 및 실행 중인 컨테이너 확인
docker ps
위에서 컨테이너를 생성하고 실행한 후에는 정상적으로 컨테이너가 실행되었는지 확인해야 합니다.
실행 중인 컨테이너 목록을 확인하기 위해 docker ps 명령을 실행합니다. 이 명령을 실행하면 현재 실행 중인 컨테이너의 목록이 출력됩니다. 이를 통해 컨테이너가 성공적으로 생성되었는지 확인할 수 있습니다. 만약 실행 명령에 문제가 있거나 잘못된 설정으로 인해 컨테이너가 정상적으로 실행되지 않았다면, docker ps 명령을 실행하면 아무런 결과가 나타나지 않을 것입니다. 따라서 docker ps 명령을 통해 컨테이너가 잘 실행되었는지 확인할 수 있습니다.
- 명령 실행 결과
문제가 없다면 위와 같이 실행중인 컨테이너의 목록이 출력이 됩니다.
4. PostgreSQL 접속
docker exec -it my_postgres psql -U postgres
컨테이너 실행까지 확인이 됐다면 이제 실행중인 PostgreSQL 컨테이너에 접속할 수 있습니다.
- 명령어 설명
docker exec
실행중인 컨테이너에서 명령을 실행하는 명령입니다.
-it
표준 입력(stdin)을 유지하면서 명령을 실행하고 터미널 상호 작용을 가능하게 합니다.
my_postgres
접속할 PostgreSQL 컨테이너의 이름입니다. 컨테이너를 생성할 때 '--name' 옵션으로 지정한 이름입니다.
psql -U postgres
컨테이너 내에서 실행할 'psql' 명령과 PostgreSQL 데이터베이스에 접속할 사용자를 지정합니다.
여기서 'postgres' 사용자로 접속하고자 합니다.
위의 명령을 실행하면 'my_postgres'라는 이름의 PostgreSQL 컨테이너 내에서 'psql' 명령이 실행됩니다.
- 명령 실행 결과
위와 같은 출력이 나타난다면 PostgreSQL 컨테이너에 성공적으로 접속한 것입니다.
최종 정리
오늘은 Docker를 이용하여 PostgreSQL 데이터베이스를 쉽게 구축하는 방법에 대해 알아보았습니다. Docker를 활용하면 더욱 간편하고 편리하게 데이터베이스 환경을 구성할 수 있으며, 서버 호스트에 직접 설치하는 것보다 더욱 효율적입니다.
이렇게 Docker를 활용하여 PostgreSQL 데이터베이스를 빠르게 구성할 수 있다는 것은 개발과 테스트에 매우 유용합니다. 다양한 프로젝트에서 PostgreSQL을 사용하는 경우에도 Docker를 활용하면 프로젝트 환경에 맞게 데이터베이스를 쉽게 구성할 수 있습니다.
Docker를 이용한 PostgreSQL 데이터베이스 구성은 개발 및 배포 프로세스를 간소화하고 효율성을 높이는데 큰 도움이 됩니다. 앞으로도 다양한 Docker 관련 주제를 다루어보며, 더욱 효과적인 개발 환경을 구축하는 방법을 소개해드리도록 하겠습니다.
감사합니다!

'Docker' 카테고리의 다른 글
[Docker] 도커 컨테이너 생성 및 실행하기 (0) | 2023.07.18 |
---|---|
[Docker] Dockerfile 작성 및 빌드하기 (0) | 2023.07.17 |
[Docker] 도커 MySQL 설치하기 (0) | 2023.07.13 |