티스토리 뷰
postgresql 을 좋아하는 이유는 다른거 없고, 라이센스가 소스를 변경하고 재배포를 해도 법적으로 문제가 없다는데 있다. 자세한 설명은 아래 링크를 참고하면 좋을 듯 하다.
데이터베이스 postgresql 을 설치하는건 로컬 pc 에 직접 설치를 해도 되지만, docker 를 이용하면 더 독립적으로 서비스를 설치하고 간편하게 관리할 수 있다. 우선 첫째로, docker image 를 만들 Dockerfile 준비한다. 내게 필요한 vim / git / zsh 등을 설치하고, 대략 locale 설정이나 timezone 설정까지만 해놓으면 된다.
FROM postgres:14.4-bullseye
RUN apt-get update; \
apt-get install -y apt-utils vim zsh curl git locales tzdata; \
zsh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# LOCALE 설정
RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
ENV LANG en_US.utf8
# localtime 에 링크할 시간대를 링크.
RUN ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
# 원하는 시간대 링크후 아래 수행시, /etc/timezone 파일변경됨.
RUN dpkg-reconfigure -f noninteractive tzdata
docker 이미지를 빌드한다.
docker build -t postgres-3 .
docker run 스크립트를 하나 만든다. 이름은 my-postgres3 으로하고, 타 컨테이너와 연계를 위해 network 설정을 해놓았다. 여기서 특별한건, 이미 5432 포트가 쓰여지고 있다보니, 5433 으로 변경해줬다. 컨테이너 내부에서 사용하는 포트는 5432 인데, 내 로컬 환경에서 접속할때는 5433 으로 접속하도록 매핑을 바꾼것이다. 나머지는 환경변수 설정 및 로컬 폴더와 연결.
docker run -d \
--name my-postgres3 \
--network my-net \
-p 5433:5432 \
-e POSTGRES_PASSWORD=1111 \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-v $PWD/mount/data:/var/lib/postgresql/data \
postgres-3
서버를 구동했으니, 서버에 접속하는 스크립트도 실행해서 접속해본다.
docker exec -it --user postgres -w /var/lib/postgresql/doc my-postgres3 zsh
docker exec 로 접속한 쉘에서 createdb 명령어를 이용해서 mydb 이름의 데이터베이스를 하나 만든다.
$ createdb mydb
물론 psql 로 커멘드창에서 붙어도 되긴하지만, DBeaver 프로그램으로 접속을 시도해본다. 아까 docker run 에서 지정했던 비밀번호 1111 을 입력하면 접속된다. 그리고 아까 생성한 mydb 로 접속한다.
테이블을 하나 만들어보고, 조회해봤다. 설치 및 접속 성공이다. 끝.
- Total
- Today
- Yesterday
- MyBatis
- Spring
- vagrant
- 자급제폰
- MySQL
- 셀프개통
- ktm모바일
- ggplot2
- 알뜰요금제
- SVN
- javascript
- Oracle
- 막대그래프
- docker
- ubuntu
- 맥북
- github
- R
- ggplot
- ipTIME
- 이클립스
- eclipse
- java
- 마인크래프트
- python
- Google Chart Tools
- 도넛차트
- heroku
- 아이맥
- MongoDB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |