서버 관련/docker

[docker] docker에 postgres 컨테이너 만들기 + DBeaver에서 확인하기

배고파요 2024. 8. 5. 16:57
728x90

🐳 docker에 postgres 컨테이너 만들기

 

📍docker hub 에 postgres 컨테이너를 (gloria9468/postgres_con) push 해놨음.

 

 

📍 WARNING: The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64/v3) and no specific platform was requested

 

  • 에러가 났던 이유 :: 
    • 플랫폼의 불일치
      • Docker 이미지와 호스트 시스템의 아키텍처가 일치하지 않으면, 이 경고 메시지가 발생합니다.
      • 나의 경우:
        • 호스트 시스템: linux/amd64 (즉, x86_64 아키텍처)
        • Docker 이미지: linux/arm64 (즉, ARM64 아키텍처)
  • 해결 방법 ::
  • 최상단에 Dockerfile 생성.
    • 더보기
      FROM postgres:latest

      # Set environment variables
      ENV POSTGRES_DB=mimi
      ENV POSTGRES_USER=mimi_user
      ENV POSTGRES_PASSWORD=pha123

      # Expose PostgreSQL port
      EXPOSE 5432
  •  호스트 시스템에 맞춰서 플랫폼 변경해서 build 하는 과정.
    1. docker buildx create --use
    2. docker buildx build --platform linux/amd64 -t gloria9468/postgres_con --load .

 

 

📍 컨테이너 설치 후 --> 해당 컨테이너로 들어가서 데이터가 있는 지 확인!.

  • [aws >> ] docker exec -it postgres_con /bin/bash
  • [docker 의 postgres_con 컨테이너 안 >>] psql -U mimi_user -d mimi

 

 

📍docker container 만들기.

  • docker run
    --name postgres_con
    --network mimi_net 
    -e POSTGRES_PASSWORD=pha123
    -p 5432:5432
    -d gloria9468/postgres_con

 

📍 postgres_con 컨테이너에 데이터 복원하기.

  • docker cp all_databases_backup.sql postgres_con:/all_databases_backup.sql
    • 백업 파일을 docker 컨테이너로 카피.
  • docker exec -i postgres_con 
    psql -U mimi_user -d mimi -f /all_databases_backup.sql
    • 도커 컨테이너를 실행하면서 ,,
    • psql 실행하는데, mimi_user 유저이고, mimi 데이터베이스에 -f 파일 all_databases_backup.sql 을 실행.

 

 

📍 chatgpt 가 알려줌.

더보기
  • 도커 네트워크 생성 관련

 

 

 

  • postgres 데이터 복원 

 

 


 

🦫 DBeaver에서 확인하기

 

 

 

 


출처 : 

https://soyoung-new-challenge.tistory.com/53

 

https://velog.io/@rivkode/Docker-컨테이너로-Spring-MySQL-연동

 

 

https://poiemaweb.com/docker-mysql

 

https://rimo.tistory.com/27

 

 


개발 공부를 위한 블로그 입니다. 

오류가 있다면 댓글로 알려주세요! 

감사합니다.

728x90