서버 관련/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 하는 과정.
- docker buildx create --use
- 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
개발 공부를 위한 블로그 입니다.
오류가 있다면 댓글로 알려주세요!
감사합니다.

728x90