우분투 도커에 DB 올리기 - (2) Docker에 PostgreSQL 올리기
나중에 내용 정리 필요!
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 확인