본문 바로가기
프로그램 활용/클라우드 가상화 도커

Docker로 PostgreSQL 설치(docker-compose.yml)

by 3604 2023. 7. 27.
728x90

 

 

1. PostgreSQL 컨테이너 이미지 가져오기

docker pull postgres

 

오류

[root@localhost 다운로드]# docker pull postres
Using default tag: latest
Error response from daemon: pull access denied for postres, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

해결
[root@localhost 다운로드]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: p******
Password: *********
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded


2. docker-compose 파일 생성

# compose 파일 버전
version: "3"
services: 
  # 서비스 명
  postgresql:
    # 사용할 이미지
    image: postgres
    # 컨테이너 실행 시 재시작
    restart: always
    # 컨테이너명 설정
    container_name: postgres
    # 접근 포트 설정 (컨테이너 외부:컨테이너 내부)
    ports:
      - "5432:5432"
    # 환경 변수 설정
    environment: 
      # PostgreSQL 계정 및 패스워드 설정 옵션
      POSTGRES_USER: root
      POSTGRES_PASSWORD: password
    # 볼륨 설정
    volumes:
      - ./data/postgres/:/var/lib/postgresql/data

 

3. docker-compose 파일 실행

3_1. docker-compose 파일이 저장된 위치로 이동

cd 파일이 저장된 위치

3_2. docker-compose 실행

docker-compose up -d

3_3. docker-compose 중지

docker-compose stop

 

4. PostgreSQL 컨테이너, 이미지 관련 명령어

4_1. 컨테이너 시작

docker start postgres

4_2. 컨테이너 중지

docker stop postgres

4_3. 컨테이너 재시작

docker restart postgres

4_4. 컨테이너 삭제

docker rm postgres

4_5. 이미지 삭제

docker rmi postgres

 

4. PostgreSQL 컨테이너에 접속

docker exec -it postgres /bin/bash

 

728x90