python3 -m venv venv #가상환경 만들기
source venv/bin/activate #활성화
# venv\Scripts\activate (윈도우)
pip install django
pip install django-rest-framework
pip install psycopg2
pip freeze > requirements.txt
#.gitignore도 추가!
FROM python:3
ENV PYTHONUNBUFFERED 1
WORKDIR /web
COPY . .
RUN pip install -r requirements.txt
version: "3"
services:
web:
build: .
command: python manage.py runserver 0:8000
ports:
- "8000:8000"
volumes:
- .:/web
depends_on:
- db
db:
image: postgres
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
docker build . # docker build -t app . 으로 이미지에 이름붙이기
docker-compose run web django-admin startproject our_project .
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"NAME": "postgres",
"USER": "postgres",
"PASSWORD": "postgres",
"HOST": "db",
"PORT": 5432,
}
}
docker-compose up -d #서비스 실행 후 콘솔로 빠져나오기
docker-compose exec web python manage.py migrate
docker-compose exec web python manage.py makemigrations
docker-compose exec web python manage.py createsuperuser
docker-compose exec web python manage.py startapp [myapp]
docker-compose down --volume
docker-compose kill
docker-compose down
이미지명 앞에 Docker Hub 계정을 붙여서
(Docker Hub 계정)/docker-repo:first-image 와 같이 새로 만들어줍니다.
docker build -t hou1000/levle_one .
tag를 변경해줍니다.
$ docker tag first-image (Docker Hub 계정)/docker-repo:first-image
$ docker push (Docker Hub 계정)/docker-repo:first-image
cf) wsl에서 explorer.exe .를 입력하면 gui로 폴더에 접근할 수 있습니다.
docker push: https://github.com/sangyeol-kim/ausg-docker-seminar/issues/10
https://fenderist.tistory.com/m/409
https://www.daleseo.com/docker-compose-django/
https://www.44bits.io/ko/post/almost-perfect-development-environment-with-docker-and-docker-compose