Dev./Cloud

[Cloud] 배포 - NCP : 클라우드 서버에서 DB 띄우기

Ivan'show 2023. 8. 14.
728x90
반응형

그러나.. 

상당히 비싼 DB 인스턴스 요금

그래서 간단한 프로젝트의 경우 일반 클라우드 서버를 열어서 db 컨테이너 띄워 기능을 대체한다.

새로운 서버를 열고 로컬에서 가상환경 접속 설정 변경 후

vi ~/.ssh/config
# ssh/config 파일 수정
Host lion-db
	HostName ...
	User lion ...

docker 를 가상환경에서 설치를 시작

# 최초 업데이트
sudo apt-get update && upgrade
	# apt 가 HTTPS 를 통해 repository 를 이용하는 것을 허용하는 패키지들
sudo apt-get install -y ca-certificates curl gnupg lsb-release
# Docker 공식 GPG 키 추가
curl -fsSL <https://download.docker.com/linux/ubuntu/gpg> | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 도커 repository 등록
echo \\
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] <https://download.docker.com/linux/ubuntu> \\
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
# docker 설치
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
docker --version

docker 명령어를 사용하기 위해 권한 설정

su root # 루트 계정에서 설정

# password 입력

usermod -aG docker {userName}

su {userName}

or ...

sudo usermode -aG docker {userName}
# 이후 ssh 재접속

docker pull 받아서 Postgres 설치부터 스키마 생성까지

docker pull postgres:13
vi .env
# .env
POSTGRES_DB=lionforum
POSTGRES_USER=lion
POSTGRES_PASSWORD=postgres123!@#
POSTGRES_PORT=5432
docker volume create postgres_data
docker run --name db -p 5432:5432 -d --env-file .env -v postgres_data:/var/lib/postgresql/data  postgres:13
docker exec -it db psql -U lion -d lionforum
lionforum=# CREATE SCHEMA likelion;
CREATE SCHEMA
lionforum=# GRANT ALL ON SCHEMA likelion TO lion;
GRANT

서버쪽 가상환경으로 넘어와서 db 에 대한 설정 변경

💡 ACG 설정으로 private 하게 만들었으니까 ~

# db
# db 서버의 공인 IP or 비공인 IP

DB_HOST=10.0.1.8

docker-compose -f ../docker-compose.prod.yml up --build -d

 

 

728x90
반응형

댓글