Uruchamiamy Django na Dockerze

W tym wpisie opiszę krok po kroku jak uruchomić projekt Django na Dockerze. Tworzymy wirtualne środowisko, które będzie nam potrzebne tylko i wyłącznie do stworzenia projektu w Django.
virtualenv -p python3 ~/.virtualenv/testdocker
source ~/.virtualenv/testdocker/bic/activate
pip install Django==2.2.7
cd ~/apps/
django-admin startproject test_docker
cd test_docker
pip freeze > requirements.txt

Konfiguracja Dockera

Aby uruchomić projekt na dockerze tworzymy dwa pliki
Dockerfile

FROM python:3.8
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
docker-compose.yml

version: '3.7'
services:
  web:
    build: .
    command: sh -c "python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
    volumes:
      - .:/code/
    ports:
      - "8000:8000"

Uruchamiamy projekt

Budujemy nasz projekt
docker-compose build
Przełącznik -d spowoduje uruchomienie w tle

docker-compose up -d
Jeżeli wszystko uruchomiło się bez problemu, za pomocą polecenia docer ps zobaczymy uruchomiony projekt Możemy wejść do shella naszego projektu
docker exec -it test_docker_web_1 bash
Teraz możemy uruchamiać różne djangowe commandy, generować migracje, czy też odpytywać bazę danych. Z shella wychodzimy kombinacją klawiszy CTRL i d
Uruchamiamy przeglądarkę www i wpisujemy adres 127.0.0.1:8000

Przydatne polecenia


# budowanie kontenerów
docker-compose build
# uruchomienie kontenerów
docker-compose up
# uruchomienie kontenerów w tle
docker-compose up -d
# restart wybranego kontenera
docker restart test_docker_web_1
# zatrzymanie kontenerów
docker-compose stop
# wejście do shella
docker exec -it test_docker_web_1 bash
# podglądanie ostatnich logów
docker logs test_docker_web_1
# podglądanie logów na bierząco
docker logs test_docker_web_1 -f
Uruchamiamy PostgreSQL na Dockerze

Komentarze