컨테이너는 격리된 상태로 생성되고 기본적으로 외부와 통신할 수 없게 설정돼 있다. 이때 도커 컴포즈를 이용하면 손쉽게 컨테이너를 연결시킬 수 있다.
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 명령으로 실행하면 다음과 같이 잘 뜬다.
'DevOps' 카테고리의 다른 글
CircleCi Yaml Configure 살펴보기 1 - Jobs (0) | 2023.04.30 |
---|---|
다중 컨테이너를 활용한 애플리케이션의 개발 환경 구축 - 1 (0) | 2023.03.13 |
주절주절 + Docker 이미지 효율적으로 빌드하기 (0) | 2023.03.09 |
Dockerfile로 nginx + django 서버 만들기 (0) | 2023.03.07 |
따라하며 배우는 도커와 CI 환경 - 3. 직접 도커 이미지 생성하기 (0) | 2023.03.05 |