ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • #3. Rocky Linux 9 - Docker에 PostgreSQL 설치 및 설정 방법
    개발노트/Linux 2025. 2. 7. 15:44
    반응형

    📌 1. PostgreSQL 컨테이너 실행

    🔹 1-1. PostgreSQL 최신 버전의 Docker 이미지 다운로드

    docker pull postgres:latest

    버전 지정 가능

    • 특정 버전 예:
      docker pull postgres:14

    🔹 1-2. PostgreSQL 컨테이너 실행

    docker run -d \
      --name my-postgres \
      -e POSTGRES_USER=admin \
      -e POSTGRES_PASSWORD=admin123 \
      -e POSTGRES_DB=mydatabase \
      -p 5432:5432 \
      -v postgres_data:/var/lib/postgresql/data \
      postgres:latest

    설명

    • -d : 백그라운드 실행
    • --name my-postgres : 컨테이너 이름
    • -e POSTGRES_USER=admin : DB 사용자 계정
    • -e POSTGRES_PASSWORD=admin123 : 사용자 비밀번호
    • -e POSTGRES_DB=mydatabase : 기본 생성할 데이터베이스
    • -p 5432:5432 : 로컬 포트 5432 → 컨테이너 포트 5432
    • -v postgres_data:/var/lib/postgresql/data : 데이터를 영구 보관

    📌 2. PostgreSQL 컨테이너 설정 및 접속

    🔹 2-1. 컨테이너 목록 확인

    docker ps

    ✅ 실행 중인 컨테이너 확인

    🔹 2-2. 컨테이너 내부로 접속

    docker exec -it my-postgres psql -U admin -d mydatabase

    ✅ PostgreSQL 프롬프트 (psql) 실행됨


    📌 3. PostgreSQL 기본 설정

    🔹 3-1. 데이터베이스 목록 확인

    \l

    🔹 3-2. 새로운 사용자 및 데이터베이스 생성

    CREATE USER myuser WITH PASSWORD 'mypassword';
    CREATE DATABASE mydb OWNER myuser;
    GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;

    🔹 3-3. 테이블 생성 및 데이터 삽입

    CREATE TABLE users (
        id SERIAL PRIMARY KEY,
        name VARCHAR(50),
        email VARCHAR(100) UNIQUE
    );
    
    INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
    SELECT * FROM users;

    🔹 3-4. psql 종료

    \q

    📌 4. PostgreSQL 컨테이너 자동 실행 설정

    PostgreSQL 컨테이너를 서버 재부팅 후에도 자동 실행되도록 설정

    docker update --restart always my-postgres

    📌 5. PostgreSQL 컨테이너 상태 및 로그 확인

    🔹 5-1. 컨테이너 상태 확인

    docker ps -a

    my-postgres 컨테이너가 실행 중인지 확인

    🔹 5-2. 컨테이너 로그 확인

    docker logs my-postgres

    📌 6. PostgreSQL 컨테이너 중지 및 삭제

    🔹 6-1. 컨테이너 중지

    docker stop my-postgres

    🔹 6-2. 컨테이너 삭제

    docker rm my-postgres

    🔹 6-3. Docker 볼륨 삭제 (데이터까지 삭제됨)

    docker volume rm postgres_data

    📌 📌 최종 정리

    작업 명령어
    PostgreSQL 이미지 다운로드 docker pull postgres:latest
    PostgreSQL 컨테이너 실행 docker run -d --name my-postgres -e POSTGRES_USER=admin -e POSTGRES_PASSWORD=admin123 -e POSTGRES_DB=mydatabase -p 5432:5432 -v postgres_data:/var/lib/postgresql/data postgres:latest
    PostgreSQL 컨테이너 접속 docker exec -it my-postgres psql -U admin -d mydatabase
    DB 사용자 생성 CREATE USER myuser WITH PASSWORD 'mypassword';
    DB 자동 실행 설정 docker update --restart always my-postgres
    컨테이너 중지 및 삭제 docker stop my-postgres && docker rm my-postgres
    반응형
Designed by Tistory.