카테고리 없음

우분투 도커에 DB 올리기 - (2) Docker에 PostgreSQL 올리기

최혜초 2022. 1. 12. 11:24

나중에 내용 정리 필요! 

docker에 postgreSQL 설치하는 방법 + postgis 까지 

방법이 두가지 있음. postgis까지 깔려있는 이미지를 올리거나 혹은 postgres 이미지를 도커에 깐 다음 postgis docker 이미지를 다운 받아서 postgre랑 postgis랑 링크하는 것 

1. postgis 깔려 있는 이미지 이용  :https://registry.hub.docker.com/r/postgis/postgis/ , postgis 공식 홈페이지에도 같이 붙어있는거 추천해줘서 이거 써도 될듯 
docker pull postgis/postgis 

1. 최신 버전 다운로드 명령어 입력 
docker pull postgis/postgis 

[docker.hub에서 확인한 정보]
latest : 14-master
postgreSQL 14 update to Postgis 3.2

[QGIS 연결 후 확인 경보]
Library:  3.1.4 
GEOS: 3.9.0-CAPI-1.16.2 
Proj: 7.2.1 


2. docker run
docker run (옵션)이미지 식별자 (명령어)(인자) 
이미지 식별자만 필수 
-d 옵션은 백그라운드에서 실행하고 detached모드로 실행 되고 결과로 컨테이너 id만 출력 -d 없이 실행할 경우 해당 터미널에서 ctrl+C 누르는 순간 기동 종료 

-it 둘이 같이 쓰이는 경우가 많음 컨테이너 종료하지 않고 입력을 컨테이너로 전달하기 위해서 사용, 컨테이너의 쉘이나 CLI 도구 사용시 사용 
--name 컨테이너의 이름 부여 

-e 환경 변수 설정 여기서는 POSTGRES_PASSWORD의 변수를 설정 

-p 포트번호 부여 

docker run -p 5432:5432 --name postgres -e POSTGRES_PASSWORD={패스워드로 쓸 거} -d postgis/postgis 

3. 기동 확인
docker ps -a 

4. 컨테이너 안에 커맨드로 들어가기 
docker exec -it postgres /bin/bash

이런식으로 root@ 컨테이너 아이디 값으로 바뀌면 Postgresql 접속
root@a15912208201:/# psql -U postgres

호오오오옥시 몰라서 extension 확인 
CREATE EXTENSION postgis;
ERROR:  extension "postgis" already exists 라고 나오면 이미 있는 것임 

생성 확인 Dbeaver로 접속 확인/ QGIS 연결로 데이터 import 확인