DevOps/Docker
[Docker] Postgresql 도커에 설치 및 접속
jungmin.park
2024. 1. 8. 23:42
docker로 postgresql 을 설치하는 방법에 대해 알아본다.
이미 도커가 설치되어있다고 가정하고 시작한다.
만약 도커가 설치되어있지 않다면 다음 게시물을 참조바란다.
https://jung-mmmmin.tistory.com/124
1. 도커 이미지 pull
docker pull postgres
2. 도커 이미지가 다운되었는지 확인
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
postgres latest c2831f50da00 3 days ago 448MB
3. 도커 컨테이너로 올리기
docker run -p 5432:5432
--name postgres
-e POSTGRES_PASSWORD=1234
-e TZ=Asia/Seoul
-v [호스트 서버의 경로]:/var/lib/postgresql/data
-d postgres
- postgresql의 기본 포트는 5432이다.
- docker run -p [호스트 port]:5432
- --name [컨테이너이름]
- -e POSTGRES_PASSWORD = [데이터베이스 비밀번호] : 원하는 비밀번호를 입력하면 된다.
- -e TZ=[타임존 설정]
- -v ~ : Docker는 볼륨(volume)과 바인드 마운트(bind mount) 옵션을 제공하는데 docker 호스트 서버에 임의의 경로로 지정하였다. 각자 원하는 로컬위치를 적어주면 된다.
- -d [docker 이미지 이름] : 해당 도커 이미지를 백그라운드에서 실행시키는 명령어
4. 컨테이너 postgresql 접속
docker exec -it [CONTAINER ID] bin/bash
5. postgresql 접속
psql -U postgres
5-1. 데이터베이스 생성
create database test_db;
5-2 \l을 통해 조회
postgres=# create database ticketdb;
CREATE DATABASE
postgres=# ll
postgres-# psql -U postgres
postgres-# \l
List of databases
Name | Owner | Encoding | Locale Provider | Collate | Ctype | ICU Locale | ICU Rules | Access privileges
-----------+----------+----------+-----------------+------------+------------+------------+-----------+-----------------------
postgres | postgres | UTF8 | libc | en_US.utf8 | en_US.utf8 | | |
template0 | postgres | UTF8 | libc | en_US.utf8 | en_US.utf8 | | | =c/postgres +
| | | | | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | libc | en_US.utf8 | en_US.utf8 | | | =c/postgres +
| | | | | | | | postgres=CTc/postgres
testdb | postgres | UTF8 | libc | en_US.utf8 | en_US.utf8 | | |
(4 rows)
6. SpringBoot + Postgresql application.yml 설정
spring:
datasource:
url: jdbc:postgresql://localhost:5432/postgres
username: postgres
password: *******
driver-class-name: org.postgresql.Driver