본문 바로가기
Docker

도커를 활용한 Python Flask 프로젝트 예제: MySQL 연동 및 Docker Compose로 간편한 구성 관리 (2)

by 플라퉁 2023. 2. 20.
728x90
반응형

*도커 사용 예제2

 

1. python flask 프로젝트를 docker로 실행해 보자

- pip install flask 명령어를 사용하여 flask를 임포트 한다.

- app.py 파일을 작성한다.

- requirenebts.txt 파일을 작성한다.

- Dockerfile을작성한다.

Dockerfile을 빌드하고 docker run -d -p 8000:5000 python-docker

명령어를 입력하면 컨테이너가 실행된다.

 

 

2. 데이터 베이스 연결 (mySql)

 - docker volume create mysql

- docker volume create mysql_config

- docker network create mysqlnet

 

docker run --rm -d -v mysql:/var/lib/mysql 
  -v mysql_config:/etc/mysql -p 3306:3306 
  --network mysqlnet 
  --name mysqldb 
  -e MYSQL_ROOT_PASSWORD=p@ssw0rd1 
  mysql

 

-       docker exec -ti mysqldb mysql -u root -p

-      password 입력!

 

 

 

3. python 데이터베이스 연동

  - pip3 install mysql-connector-python

- pip3 freeze >> requirements.txt

docker build --tag python-docker-dev .
docker run 
  --rm -d 
  --network mysqlnet 
  --name rest-server 
  -p 8000:5000 
  python-docker-dev

 

 

 

4. compose파일을 사용하여 간단하게 실행하기

 - docker-compose.dev.yml 이라는 파일을 생성한다.

 - version: '3.8'
 
services:
 web:
  build:
   context: .
  ports:
  - 8000:5000
  volumes:
  - ./:/app
 
 mysqldb:
  image: mysql
  ports:
  - 3306:3306
  environment:
  - MYSQL_ROOT_PASSWORD=p@ssw0rd1
  volumes:
  - mysql:/var/lib/mysql
  - mysql_config:/etc/mysql
 
volumes:
  mysql:
  mysql_config:

해당파일을 이렇게 작성한다.

docker compose -f docker-compose.dev.yml up --build

다음과 같이 간단하게 실행 가능

728x90
반응형

댓글