나중에 다시 세팅하거나 새로 프로젝트를 진행할 때 편하게 하기 위해서 적어 놓는다.
version: '3'
services:
nginx:
container_name: nginx-proxy
build: ./nginx # nignx 폴더의 Dockerfile을 빌드
restart: always
image: nginx
ports:
- 80:80
extra_hosts:
# nginx 에서 localhost를 사용하게 되면 그대로 도커내의 ip를 사용하기 때문에
# 서버ip를 도커 내부로 보내서 사용할 수 있게 해준다.
- "host.docker.internal:host-gateway"
# volumes:
depends_on:
- backend
backend:
container_name: backend
build: ./nodejs
restart: always
ports:
- 4500:4500
environment:
PORT: 4500
MONGODB_URI: mongodb://mongo_db:27017
DB_NAME: caad
depends_on:
- mongo_db
volumes:
- ./nodejs/:/usr/src/app/
mongo_db:
container_name: db_container
image: mongo:latest
restart: always
volumes:
# 데이터베이스를 매핑
- ./mongo_db:/data/db
volumes:
mongo_db: {}
docker-compose up --build -d
docker image prune -a
도커 이미지가 쌓인 경우 사용하지 않는 이미지 삭제
docker-compose logs <container name>
컨테이너 이름을 넣지 않으면 전체 로그가 출력되고, 넣게되면 해당 컨테이너의 로그를 출력시킴
docker-compose exec <container name> <command>
해당 컨테이너 도커 내부에서 커맨드를 실행 시켜줌