VPS에 Docker를 설치하고 iPhone으로 로컬과 동일한 개발 환경 만들기
시작하며
VPS를 빌렸다면 다음에 하고 싶은 것은 개발 환경 구축이다. Docker를 사용하면 로컬 PC와 완전히 동일한 구성을 VPS에 재현할 수 있다. docker compose up 명령 하나로 데이터베이스, 백엔드, 프론트엔드가 모두 함께 동작한다.
그리고 이 작업이야말로 Claush의 백그라운드 처리가 가장 빛나는 순간이다. Docker 설치나 이미지 빌드는 몇 분에서 수십 분이 걸릴 수 있다. 그동안 계속 터미널을 바라볼 필요는 없다. Claush에 “끝나면 Slack으로 알려줘"라고 전달하기만 하면 iPhone을 주머니에 넣어도 된다.
VPS에 Docker 설치하기
Ubuntu/Debian 계열의 VPS라면 다음 명령어로 설치할 수 있다.
# 이전 버전 삭제 (깨끗한 상태로 시작)
sudo apt remove docker docker-engine docker.io containerd runc 2>/dev/null
# 필요한 패키지 설치
sudo apt update && sudo apt install -y ca-certificates curl gnupg
# Docker의 GPG 키 추가
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 저장소 추가
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list
# Docker 설치
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
설치에는 몇 분이 걸린다. 이때 Claush에 지시를 내리고 알림을 기다리면 된다.
“Docker를 설치하고, 끝나면 Slack으로 알려줘.”
백그라운드 처리+알림이 중요한 이유
Docker 설치만이라면 몇 분이면 끝난다. 하지만 실제 개발에서는 더 오래 걸리는 작업이 있다.
| 작업 | 예상 소요 시간 |
|---|---|
| Docker 설치 | 2~5분 |
| 이미지 pull (postgres, nginx 등) | 1~3분 |
| 이미지 build (Dockerfile에서) | 5~30분 이상 |
| npm install / pip install | 3~10분 |
| CI/CD 파이프라인 실행 | 10~60분 |
이 작업들 동안 계속 터미널을 감시하는 것은 시간 낭비다.
Claush라면 한마디로 해결할 수 있다:
“docker compose build 하고 compose up -d 해서, 전부 끝나면 Slack으로 알려줘.”
iPhone을 주머니에 넣고 커피 한 잔 마시면 된다. 알림이 오는 순간 바로 개발을 재개할 수 있다.
Docker Compose로 개발 환경 실행하기
실제 프로젝트에서는 docker-compose.yml을 사용해 여러 서비스를 일괄 관리한다.
# docker-compose.yml 예시
services:
app:
build: .
ports:
- "3000:3000"
depends_on:
- db
db:
image: postgres:16
environment:
POSTGRES_PASSWORD: password
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata:
실행은 명령어 하나다:
docker compose up -d
이것도 Claush에 맡길 수 있다:
“docker compose up -d 하고, 컨테이너가 전부 실행됐는지 확인한 후 알려줘.”
VPS에 로컬과 동일한 환경 완성
Docker를 사용하는 가장 큰 이점은 환경의 재현성이다:
- 로컬에서 동작한 것이 VPS에서도 반드시 동작한다
- 팀원과 완전히 동일한 환경을 공유할 수 있다
- OS에 의존하지 않는다 (Ubuntu든 Debian이든 동일)
그리고 Claush가 있으면 그 환경 구축을 iPhone 하나로 조작할 수 있다.
정리
| 내용 | |
|---|---|
| 할 일 | VPS에 Docker를 설치하고, docker-compose.yml로 환경 구축 |
| 시간이 걸리는 작업 | 설치, 이미지 빌드, npm install 등 |
| Claush 활용법 | “~하고, 끝나면 Slack으로 알려줘” 한마디로 맡기기 |
| 장점 | 로컬과 동일한 환경, iPhone으로 조작, 대기 시간 제로 |
시간이 걸리는 작업일수록 Claush의 백그라운드 처리에 맡겨야 하는 순간이다. 알림이 올 때까지 다른 일을 하면 된다.