DevOps
도커 컴포즈 파일 작성하기
r잡초처럼
2023. 3. 10. 02:42
컨테이너는 격리된 상태로 생성되고 기본적으로 외부와 통신할 수 없게 설정돼 있다. 이때 도커 컴포즈를 이용하면 손쉽게 컨테이너를 연결시킬 수 있다.
Node와 MySQL DB 연결하기
version: "3.7" # 도커 컴포즈 버전
services: # 이 하단부에 컨테이너들을 정의
mysql: # 컨테이너 이름
image: mysql:5.7 # 컨테이너에서 사용하는 이미지
volumes: # 볼륨 연결
- todo-mysql-data:/var/lib/mysql
environment: # 환경변수
MYSQL_ROOT_PASSWORD: 1234
MYSQL_DATABASE: todos
docs:
build:
context: . # Dockerfile이 있는 경로
dockerfile: Dockerfile # 파일명이 Dockerfile이 아닌 경우 기입
target: dev
ports: # 포트 연결
- 8000:8000
volumes:
- ./:/app
environment:
MYSQL_HOST: mysql
MYSQL_USER: root
MYSQL_PASSWORD: 1234
MYSQL_DB: todos
depends_on: # 앞서 생성한 DB와 의존성 연결
- mysql
restart: always
volumes:
todo-mysql-data:
그리고 docker-compose up 명령으로 실행하면 다음과 같이 잘 뜬다.