Docker Compose 3

[Docker#16] Docker Compose 여러 개의 컨테이너 동시에 띄우기(2)

Docker Compose를 사용하면 여러 개의 컨테이너를 동시에 띄워 다양한 환경을 쉽게 구축할 수 있습니다. 예를 들어, Python(Flask) 백엔드와 MySQL 데이터베이스를 각각 컨테이너로 구성해 한 번에 실행할 수 있죠.하지만 종종 아래와 같은 MySQL 연결 오류를 마주하게 됩니다. Can't connect to MySQL server on 'my-db' ([Errno 111] Connection refused) 이번 글에서는 왜 이런 에러가 발생하는지, 그리고 어떻게 해결해야 하는지를 설명하도록 하겠습니다. 에러 원인: 컨테이너는 서로 다른 'localhost'를 가진다보통 우리는 MySQL 주소를 이렇게 작성합니다.conn = pymysql.connect( host="localh..

MLOps/Docker 2025.05.13

[Docker#15] Docker Compose 여러 개의 컨테이너 동시에 띄우기(1)

개발 환경을 셋업할 때, 데이터베이스와 백엔드 서버를 동시에 띄우는 작업은 매우 흔합니다. 이번 글에서는 MySQL과 Python(Flask 서버)를 Docker Compose로 한 번에 실행하는 실습을 해보겠습니다. 실습디렉토리 구조project/├── app/│ ├── main.py│ ├── requirements.txt│ └── Dockerfile├── compose.yml Flask 코드from flask import Flaskimport pymysqlapp = Flask(__name__)@app.route("/")def hello_mysql(): try: conn = pymysql.connect( host="localhost" ..

MLOps/Docker 2025.05.13

[Docker#14] Docker Compose란?

복잡한 애플리케이션을 개발하거나 운영하다 보면, 하나의 컨테이너만으로는 충분하지 않을 때가 많습니다. 예를 들어, 웹 서버와 데이터베이스 서버를 함께 운영하거나, 여러 개의 마이크로서비스를 동시에 실행해야 할 때가 대표적인 사례입니다. 이때 유용하게 활용되는 도구가 바로 Docker Compose입니다. Docker Compose란?Docker Compose는 여러 개의 Docker 컨테이너를 하나의 서비스 묶음으로 정의하고 관리할 수 있게 도와주는 도구입니다. 즉, 복잡한 컨테이너 환경을 하나의 compose.yml 파일로 정의해두면, 한 줄 명령어로 전체 서비스를 실행하거나 중지할 수 있습니다. 왜 사용할까?1. 여러 개의 컨테이너를 효율적으로 관리할 수 있다.웹 서버, 데이터베이스, 캐시 서버 ..

MLOps/Docker 2025.05.12