1. DOCKER 다운로드 및 설치
•
DOCKER란?
◦
소프트웨어를 컨테이너 단위의 격리된 환경 안에서 실행하도록 해주는 오픈소스 가상화 플랫폼
◦
DOCKER를 사용해 리눅스 환경의 PG를 설치 할 수 있습니다.
•
DOCKER 다운로드(4.33 기준 / Windows 11기준)
•
DOCKER 설치(4.33 기준 / Windows 11 기준)
◦
다운로드 받은, Docker Desktop Installer 를 실행
◦
Use WSL2 instead of Hyper-v 부분 체크가 나오면 체크하고 설치를 진행합니다.
▪
WSL은 리눅스 커널을 직접 사용하여 Windows 상에서 리눅스 환경을 제공
▪
경량화되어 있으며, 리눅스와 Windows 간의 파일 시스템 통합이 용이
▪
주로 리눅스 개발 환경을 Windows에서 구현하려는 사용자에게 적합
▪
WSL 2는 Docker와 더욱 통합되어 있어, 리눅스 컨테이너를 더 효율적으로 실행
▪
WSL을 사용하려면 윈도우에 관련된 추가 설치가 필요할 수 있다.
▪
상황에 따라 WSL2 설치가 필요합니다. 아래 글을 참고해 진행합니다.
◦
설치 완료 후 host 파일 변경 복원 메시지 나올 수 있습니다.
▪
저는 복원 안하고 넘어갔습니다.
•
DOCKER 메뉴
◦
설치된 DOCKER는 윈도우즈 상의 Docker Desktop을 프로그램을 실행하거나,
▪
윈도우즈의 Command 창에서 Docker 명령어를 실행할 수도 있습니다.
◦
Docker Desktop 화면
▪
윈도우즈에서 Docker Desktop을 실행하면 다음과 같은 화면이 나옵니다.
•
Images
◦
어플리케이션 실행에 필요한 모든 파일과 코드, 설정의 패키지.
◦
pull 을 통해 Postgre 이미지를 다운로드 할 수 있다.
•
Containers
◦
이미지를 통해 만들어진 실행 가능한 어플리케이션
▪
pull을 통해 저장된 postgre 이미지를 실행하면 postgre 컨테이너가 만들어지고,
▪
만들어진 postgre 컨테이너에 접속해서 사용할 수 있다.
•
Volumes
◦
컨테이너와 독립적으로 존재하는 데이터 공간
◦
컨테이너에서 생성되는 데이터를 컨테이너 외부에 저장할 수 있다.
2. PostgreSQL 설치 및 시작
•
Docker의 Pull 명령어를 사용해 Postgresql 16.4 를 설치합니다.
1.
윈도우즈의 윈도우 버튼 클릭
2.
검색창에 cmd 입력
3.
명령 프롬프트를 선택해서 실행
•
cmd(명령 프롬프트) 창에서 다음 명령어를 실행합니다.
◦
docker pull postgres:16.4
◦
위 명령어를 실행하면 Linux(debian)의 PG 16.4 의 이미지를 Docker의 이미지로 다운로드(pull) 합니다.
•
pull로 다운로드한 이미지를 run 명령어로 실행해야 합니다.
◦
run 명령어는 이미지를 컨테이너로 만드는 것이기 때문에 pull 후에 한 번만 실행하면 됩니다.
◦
run은 이미지를 컨테이너로 만드는 것이므로, DBMS의 start/stop과는 다릅니다.
◦
아래의 명령어로 pull 해 놓은 이미지 리스트를 확인할 수 있습니다.
docker images
Shell
복사
▪
이미지가 정상적으로 pull 되었다면 아래와 같은 리스트를 확인할 수 있습니다.
◦
아래 명령어로 이미지를 run 합니다.
▪
run할 때 pg의 admin 계정인 postgres의 암호를 설정합니다.
•
postgres:16.4 이미지를 mypg라는 이름의 컨테이너로 생성합니다.
•
여기서는 암호를 1qaz2wsx로 설정했습니다. 각자 편한 암호를 사용합니다.
•
컨테이너 내부에서 사용 가능한 공유 메모리(/dev/shm)의 크기를 256MB로 설정
◦
실제 PG는 DEFAULT로 128MB만 사용. os자원에서 메모리를 사용할 수 있게 256mb로 잡는 것을 권장.
docker run -d --shm-size=256m -p 5432:5432 -e POSTGRES_PASSWORD=1qaz2wsx --name mypg postgres:16.4
Shell
복사
3. DBeaver로 PG 접속하기
•
docker run을 완료했다면, DBeaver와 같은 SQL Tool로 DB 접속이 가능합니다.
•
아래 그림을 참고해 PG에 접속합니다.
•
DBeaver로 PG에 접속해, SQL창을 열고 다음 SQL로 연습용 데이터베이스(startdbpg)를 생성합니다.
CREATE DATABASE startdbpg;
SQL
복사
•
디비버에 startdbpg로 접속하는 컨넥션을 축가합니다.
◦
PG는 MySQL처럼 특정 DB에 접속 후 DB를 변경할 수 없습니다.
◦
Dbeaver에서 새로운 컨넥션을 추가
◦
Database를 새로 만든 startdbpg로 설정한다.