Starten Sie Django auf dem Docker-Container mit Docker-Compose. Ich benutze einen Mac.
In einer angedockten Anwendung können die Datenbank- und Middleware-Container getrennt sein und die Anwendung kann aus mehreren Containern bestehen. Das Ausführen eines Docker-Laufs für jeden Container kann mühsam sein. Wenn Sie zu diesem Zeitpunkt Docker-Compose verwenden, können Sie mehrere Container mit einem Befehl steuern. docker-compose beschreibt und steuert das Verhalten des Containers in docker-compose.yml.
Die Konfiguration, die Container für jede Funktion trennt, wird auch im AWS-Lernprogramm vorgestellt und als Mikrodienst bezeichnet. Der Vorteil von Microservice-fähigen Konfigurationen besteht darin, dass die Anwendungsentwicklung und das Testen für jede Funktion in kleinen Einheiten durchgeführt werden können. Wenn jeder Container als lose gekoppelt ausgelegt ist, kann jede Funktion unabhängig entwickelt werden, sodass sie entwickelt, bereitgestellt und skaliert werden kann, ohne sich der Arbeit anderer Teams bewusst zu sein. Selbst bei der Entwicklung von Startups, die ich erlebt habe, war es zweckmäßig, unter Berücksichtigung von Microservices zu entwerfen, so dass eine parallele Entwicklung, Verifizierung und Prüfung in kleinen Funktionseinheiten möglich war.
Dieser Artikel ist Teil des Projekts Auf Docker aufbauen und in AWS Fargate bereitstellen.
Installieren Sie Django als vorläufige Vorbereitung mit Pipenv in der virtuellen Umgebung. Bitte beziehen Sie sich auf den Link, da ich einen separaten Artikel für das detaillierte Verfahren geschrieben habe. https://qiita.com/keita_gawahara/items/487a635d226fb0705b13
Erstellen Sie eine Docker-Datei im Stammordner Ihres Projekts.
$ touch Dockerfile
Fügen Sie der Docker-Datei den folgenden Inhalt hinzu.
FROM python:3.7-slim
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
WORKDIR /
COPY Pipfile Pipfile.lock /
RUN pip install pipenv && pipenv install --system
COPY . /
Erstellen Sie die Docker-Datei mit dem Docker-Build-Befehl.
$ docker build .
Sending build context to Docker daemon 155.1kB
...
Step 7/7 : COPY . /
---> d239897dhfii9u”
Successfully built d26473003af
$touch docker-compose.yml
Fügen Sie docker-compose.yml den folgenden Inhalt hinzu.
version: '3.7'
services:
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
ports:
- 8000:8000
Starten Sie den Container mit dem Befehl docker-compose up.
$ docker-compose up
Creating network...
...
web_1 | System check identified no issues (0 silenced).
web_1 | July 13, 2019 - 16:47:03
web_1 | Django version 2.2.3, using settings 'hello_project.settings'
web_1 | Starting development server at http://0.0.0.0:8000/
web_1 | Quit the server with CONTROL-C.
Als ich http://127.0.0.1:8000 in meinem Browser angezeigt habe, wurde die Django-Begrüßungsseite angezeigt. Sie haben jetzt Django auf Docker gestartet.
Verwenden Sie nach dem Beenden mit CONTROL-C Docker-Compose Down, um den Container vollständig anzuhalten.
$ docker-compose down
Recommended Posts