Skip to main content

03. [BackEnd] Docker + Postgres + TablePlus

Docker 설치


이전 게시물에서 함

Postgres: Docker 이미지 다운로드


  1. 여기에서 검색

  2. docker official images를 다운로드

docker pull postgres:15-alpine

영상에선 12-alpine을 다운받았지만 일단 15로 다운해보기

Docker pull Image 하는 법

docker pull <이미지>:<태그>
  1. 확인하기
docker images

Postgres: Start a Container


실행 명령어 구조

docker run --name <컨테이너이름> -e <환경 변수 값> -p <호스트포트:컨테이너포트> -d <이미지>:<태그>

위의 법칙을 따라야함

예시 실행 명령어

docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres

한 컨테이너에서 여러 이미지를 run 할 수 있다.

Container Customize


환경변수에 대해서

문서에 나와있는 Environment Variables를 통해서 컨테이너를 Customizing 할 수 있다.

POSTGRES_USER: 접속 아이디 설정

POSTGRES_DB: db 이름 설정 / 디폴트 db 이름은 username과 동일하다.

실제 실행 명령어

docker run --name postgres15 -p 5432:5432 -e POSTGRES_USER=root -e POSTGRES_PASSWORD=secret -d postgres:15-alpine

실행한 것 확인

docker ps

여기까지하면 Postgres 서버는 준비가 됐다.

Access to Postgres console


Run command in container

docker exec -it <컨테이너이름 or 컨테이너아이디> <명령어> [args]

실제 코드

docker exec -it postgres15 psql -U root
옵션 설명

psql: postgres 들어가는 명령어

-U: 로그인 아이디 옵션

root: root로 로그인

shell을 사용해서 진입

docker exec -it postgres15 /bin/sh

위 명령어로 진입하면 /bin/sh을 사용해서 postgres 서버에 직접적으로 명령어를 사용할 수 있습니다.

진입 시 비밀번호를 물어보지 않는 이유

기본적으로 postgres 컨테이너는 trust authentication locally라고 합니다.

그래서 localhost에서 연결할 때는 비밀번호 입력하지 않아도 된다고 하네요.

나갈때는

\q

로그 보기


로그 보는 명령어

docker logs <컨테이너이름 또는 컨테이너아이디>

컨테이너를 멈추려면


멈추는 명령어

docker stop <컨테이너아이디 또는 이름>

멈춘거 확인

docker ps -a

docker ps -a 는 실행중이든 꺼져있든 모든 컨테이너 보여줌

컨테이너 삭제

명령어

docker rm <컨테이너아이디 또는 이름>

TablePlus

위는 어려운 방법이였다고 한다. TablePlus를 사용하면 쉬운 방법을 사용할 수 있다.

다운로드

여기에서 다운로드 할 수 있다.

그리고 설치하기

PostgreSQL로 설정

Alt text

위처럼 설정한다. test 버튼을 누르면 연결 테스트를 진행한다.

SQL 실행

SQL을 실행할 때 ctrl+a를 누르고 해야한다. 한 블럭씩 실행되기 때문이다.