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 plikiDockerfile
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 projektdocker-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 dUruchamiamy 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