본문 바로가기
DB/PostgreSQL

도커를 이용한 PostgreSQL 설치하기 - 테스트 중

by 골든크랩 2022. 10. 9.
728x90
반응형

 

 

-- 네트워크를 만들어서 컨터이너를 만드는 방법 (elastic, grafana, kibana 등과 연동하기 위해서)

docker network create elastic-net
 
docker run -d -p 5433:5432 --name postgres-elastic --network elastic-net -v postgres-elastic-root:/var/lib/postgresql/data -e "POSTGRES_DB=keycloak" -e "POSTGRES_PASSWORD=password" -e "POSTGRES_USER=keycloak" postgres

 

 

0. 설치후, timezone 설정법

docker exec -u 0 -it postgres bash

 

find / -name "postgresql.conf"

 

/var/lib/postgresql/data/postgresql.conf 파일 열고

timezone으로 검색 . log_timezone과 timezone  모두

'Asia/Seoul' 로 변경

 

도커 재기동

 

 

1. 이미지 다운로드

docker pull postgres:latest

 

2. 실행

docker run -d -p 5432:5432 --name postgres  -v postgres-root:/docker-entrypoint-initdb.d -e "POSTGRES_DB=keycloak" -e "POSTGRES_PASSWORD=password" -e "POSTGRES_USER=keycloak" postgres

 

로그인시 ID : keycloak,

PWD : password

 

3. 기타  유틸 설치

# apt-get update

#apt-get install net-tools

#apt-get install nano

#apt-get install vim

#apt-get install telnet

#apt-get install wget

#apt-get install systemd -> 이거 설치하니 python3.10 설치될때도 있고, 안될때도 있고ㅠㅠ

  ==> 설치 마지막즈음에 지역을 선택하라고 나옴. Asia -> Seoul 로 설정하면 시간이 맞춰짐

   ==> timedatectl 을 사용하기 위해서.  도커 시간이 맞추려고.

 

#apt-get install python3 ==> postgres 이미지를 갖고 있는 debian linux 에서는 이걸로 쉽게 설치했음. 

 

 

4. HeidiSQL 클라이언트 설치

 --> 아래쪽에 접속하는 이미지 파일 참조 할것

 

5. JDBC 드라이버 다운로드

 

https://jdbc.postgresql.org/download/

 

Download | pgJDBC

Download Binary JAR file downloads of the JDBC driver are available here and the current version with Maven Repository. Because Java is platform neutral, it is a simple process of just downloading the appropriate JAR file and dropping it into your classpat

jdbc.postgresql.org

 

 

 

==============================================

 

 

 

이하는 예전버전..

docker run -p 5432:5432 --name postgres -e POSTGRES_PASSWORD=postgres -d ostock_dev -v init.sql:/docker-entrypoint-initdb.d/1-init.sql

 

 

docker-compose.yml

=======================================================
  database:
    image: postgres:latest
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: "postgres"
      POSTGRES_PASSWORD: "postgres"
      POSTGRES_DB:       "ostock_dev"
    volumes:
        - ./init.sql:/docker-entrypoint-initdb.d/1-init.sql
        - ./data.sql:/docker-entrypoint-initdb.d/2-data.sql
    networks:
      backend:
        aliases:
          - "database"
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 10s
      timeout: 5s
      retries: 5

 

접속하기

 

 

참고)

https://judo0179.tistory.com/96

 

Docker Postgresql 설치 및 셋팅하기

리눅스 컨테이너 즉 docker는 프로세스 형태로 자원을 격리하여 사용하기 때문에 컨테이너가 삭제되면 기존에 저장되었던 데이터는 사라진다. 이를 예방하기 위해서 docker volume을 사용하거나 로

judo0179.tistory.com

 

728x90
반응형

댓글