FROM python:3.9
ENV PYTHONUNBUFFERED 1
RUN apt-get -y update && apt-get clean
WORKDIR /usr/src/dev_comu
COPY . .
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
EXPOSE 8000
$ docker build -t <생성하고자 하는 도커 이미지 이름>
$ docker images
$ docker run --rm -d -p [호스트 포트]:80 [생성한 이미지 이름]
$ docker login
$ docker tag [도커 이미지 이름]:latest [도커 허브 아이디]/[도커 이미지 이름]:latest
$ docker push [도커 허브 아이디]/[도커 이미지 이름]:latest
$ docker run -d -p [호스트 포트]:80 [생성한 이미지 이름]
version: "3.7"
services:
django:
build:
context: ./
dockerfile: Dockerfile
container_name: dev_comu_backend
restart: always
ports:
- 8000:8000
env_file:
- .env
depends_on:
- db
volumes:
- .:/usr/src/dev_comu
networks:
- dev_comu_net
command: >
sh -c "python manage.py runserver 0.0.0.0:8000"
db:
image: mysql:8.0
restart: always
container_name: dev_comu_db
ports:
- "3306:3306"
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
environment:
- MYSQL_PORT=${MYSQL_PORT}
- MYSQL_DATABASE=${MYSQL_NAME}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- TZ=Asia/Seoul
volumes:
- db_volume:/var/lib/mysql
networks:
- dev_comu_net
networks:
dev_comu_net:
volumes: # 볼륨을 따로 생성
db_volume:
$ docker-compose run django django-admin startproject config .
$ docker-compose run django python manage.py makemigraitons # migration 관련 명령어들
docker-compose up -d