Docker

Docker postgresql 컨테이너 생성

끈끈 2023. 6. 1. 01:52

 

  • docker를 사용해 django에서 사용될 postgresql 컨테이너를 생성하는 방법

 

작업 파일 정리하기

 

mkdir backup : 백업 디렉토리 생성
sudo mv ./* ./backup/ : 모든 파일 이동
sudo rm -rf ./* : 모든 파일과 디렉토리 삭제

 

 

 

sudo docker rm -f {container ID} : 컨테이너 삭제

sudo docker system prune -a : Docker에서 사용하지 않는 리소스를 정리하는 명령어

 

 

 


 

postgresql이란?

 

  • 오픈 소스 데이터베이스
  • Oracle DB, MySQL 등 상용 라이센스를 가지고 있는 데이터베이스와 다르게 무료로 사용 가능
  • Oracle DB, Mysql, Microsoft SQL에 이어 네번째로 사용량이 많은 데이터베이스
  • 장고에서 기본 데이터베이스로 postgresql을 사용을 권장

 

원하는 docker 이미지를 찾는 방법

 

아래 사이트 접속 후 원하는 이미지 검색

 

 

https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

Deliver your business through Docker Hub Package and publish apps and plugins as containers in Docker Hub for easy download and deployment by millions of Docker users worldwide.

hub.docker.com

 

https://hub.docker.com/_/postgres

 

postgres - Official Image | Docker Hub

Note: the description for this image is longer than the Hub length limit of 25000, so has been trimmed. The full description can be found at https://github.com/docker-library/docs/tree/master/postgres/README.md. See also docker/hub-feedback#238 and docker/

hub.docker.com

 

docker-compose.yml

 

version: '3.8'

volumes:
  postgres: {} # postgresql에서 사용 할 볼륨 지정

services:
  postgres:
    container_name: postgres
    image: postgres:14.5
    volumes:
      - postgres:/var/lib/postgresql/data/
    environment: # postgresql 컨테이너에서 사용할 환경변수 지정해주기
      - POSTGRES_USER=user # 데이터베이스 사용자 지정
      - POSTGRES_PASSWORD=P@ssw0rd # 사용자 비밀번호 지정
      - POSTGRES_DB=django # 데이터베이스 이름 지정
    restart: always

 

컨테이너를 생성 후 postgresql 실행 확인

 

sudo docker compose up -d
sudo docker ps
sudo docker compose logs -f