[PYTHON] Starten Sie Django auf einem Docker-Container mit Docker-Compose Up

Einführung

Starten Sie Django auf dem Docker-Container mit Docker-Compose. Ich benutze einen Mac.

Gründe für Docker-Compose

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.

Erstellen einer Docker-Datei

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

Starten Sie Django auf einem Docker-Container mit Docker-Compose Up
Stellen Sie die Django-Anwendung mit Docker bereit
[Django] Erstellen Sie mit PyCharm schnell eine Entwicklungsumgebung für Django-Container (Docker)
Richten Sie mit Docker einen Samba-Server ein
Erstellen Sie ein Docker-Container-Image mit JRE8 / JDK8 unter Amazon Linux
Hinweise zum Aktivieren von PostgreSQL mit Django
Ich habe eine Entwicklungsumgebung für Django 3.0 mit Docker, Docker-Compose und Poetry erstellt
Starten Sie die Flask-Anwendung mit Docker auf Heroku
Führen Sie matplotlib in einem Windows Docker-Container aus
[DynamoDB] [Docker] Erstellen Sie mit Docker-Compose eine Entwicklungsumgebung für DynamoDB und Django
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Tragen Sie einen Docker-Container
So führen Sie eine Django-Anwendung auf einem Docker-Container aus (Entwicklungs- und Produktionsumgebung)
Rückblick auf die Erstellung eines Webdienstes mit Django 1
Starten Sie mit Docker eine Python-Webanwendung auf Nginx + Gunicorn
So erstellen Sie eine Django (Python) -Umgebung auf Docker
Richten Sie Docker unter Oracle Linux (7.x) mit Vagrant ein
Rückblick auf die Erstellung eines Webdienstes mit Django 2
Hinweise zur Beschleunigung des Python-Codes mit Numba
Ein Memo zum Erstellen einer Django (Python) -Anwendung mit Docker
Stellen Sie die mit PTVS erstellte Django-App in Azure bereit
Erstellen Sie eine Entwicklungsumgebung mit Poetry Django Docker Pycharm
Erstellen Sie eine Django-Umgebung mit Docker-Compose (MariaDB + Nginx + uWSGI).
Erstellen Sie eine Homepage mit Django
[Memo] Erstellen Sie mit Docker eine Entwicklungsumgebung für Django + Nuxt.js
Erstellen einer Todo-App mit Django ① Erstellen Sie eine Umgebung mit Docker
Stellen Sie die Django-Anwendung auf EC2 mit Nginx + Gunicorn + Supervisor bereit
Erstellen eines Flask-Servers mit Docker
Erstellen Sie eine Deb-Datei mit Docker
Django-Tipps - Erstellen Sie eine Ranking-Site mit Django-
Implementieren Sie die Django-App auf Hy
Code-Server-Online-Umgebung (5) Starten Sie den Code-Server auf Docker
Machen Sie einen Filter mit einer Django-Vorlage
So löschen Sie einen Docker-Container
Startete eine Webanwendung auf AWS mit Django und wechselte Jobs
Erstellen Sie mit Django einen Datei-Uploader
Führen Sie Python-Dateien in einem Docker-Container auf einem Remote-Raspbian über PyCharm aus
Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung! [Einfache Konstruktion]
Eine Reihe von Amateur-Infrastrukturingenieuren, die Django mit Docker berühren (2): Erstellen eines Modells
Hinweise zum Einrichten eines Docker-Containers für die Verwendung von JUMAN ++, KNP, Python
Django + Apache mit mod_wsgi unter Windows Server 2016
Ein Memo mit Python2.7 und Python3 in CentOS
Kartenmietinformationen auf einer Karte mit Python
Erstellen Sie mit Docker-Compose eine schnelle API-Umgebung
Holen Sie sich mit Docker eine lokale Umgebung für DynamoDB
Werfen Sie eine Anfrage mit einem Zertifikat auf httpie
Lassen Sie uns mit Docker eine dynamische Site kratzen
Erstellen eines Anmeldebildschirms in Django all auth
[Linux] Erstellen einer Jenkins-Umgebung mit Docker
Starten Sie die Umgebung mit LineBot + Heroku + Docker + Python
Führen Sie eine Python-Webanwendung mit Docker aus
Erstellen Sie einen Webdienst mit Docker + Flask
Ich habe eine WEB-Bewerbung bei Django gemacht
[Linux] Aufbau einer Docker-Umgebung mit Amazon Linux 2
Eine Reihe von Amateur-Infrastrukturingenieuren, die Django mit Docker touching berühren: Ansicht, Vorlage, CSS
Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung! [Versuch und Irrtum]
Django + Docker
Erstellen Sie eine LAMP-Umgebung auf Ihrem lokalen Docker
Erstellen Sie eine Entwicklungsumgebung für die C-Sprache mit einem Container