Einfache Erstellung der Docker Compose + Django-Entwicklungsumgebung

Überblick

Zuvor habe ich im folgenden Artikel erklärt, wie mit Dockerfile eine Django-Entwicklungsumgebung mit einem einzelnen Container erstellt wird. Einfache Erstellung der Docker + Django-Entwicklungsumgebung

Dieses Mal werde ich die Methode mit Docker Compose beschreiben.

Wie beim letzten Mal wollen wir eine einfache Umgebung erstellen, daher werden wir den Django-Standard SQLite3 wie für die Datenbank verwenden.

Annahme

Wir gehen davon aus, dass Windows und Mac mit Docker Desktop installiert sind oder Linux mit Docker Engine und Docker Compose.

Für Windows und Mac ist Docker Compose in Docker Desktop enthalten, sodass es nicht separat installiert werden muss.

Die Befehle in diesem Artikel werden auf dem Mac-Terminal ausgeführt. Wenn Docker Desktop installiert ist, können ähnliche Befehle anscheinend an der Windows-Eingabeaufforderung ausgeführt werden.

Erstellen Sie mit Docker Compose mehrere Container

1. Erstellen Sie ein Arbeitsverzeichnis

Verwenden Sie Dockerfile und docker-compose.yml, um eine Django-Entwicklungsumgebung mit mehreren Docker-Containern zu erstellen.

Erstellen Sie ein beliebiges Arbeitsverzeichnis auf dem lokalen Computer und erstellen Sie eine Datei mit den Namen "Dockerfile", "require.txt", "docker-compose.yml" und ein Verzeichnis mit einem beliebigen Namen. (Hier nennen wir es src).

Dockerfile
docker-compose.yml
requirements.txt
src/

2. Bearbeiten Sie die Einstellungsdatei

Bearbeiten Sie den Inhalt der Docker-Datei wie folgt.

Dockerfile


FROM python:3.8.3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/

Bearbeiten Sie den Inhalt von require.txt wie folgt.

requirements.txt


django
pyyaml

Bearbeiten Sie den Inhalt von docker-compose.yml wie folgt.

docker-compose.yml


version: '3'
    
services:
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - ./src:/code
    ports:
      - "8000:8000"

Ich werde die Docker-Datei und die Anforderung.txt weglassen, da sie in Vorheriger Artikel erläutert werden.

Definieren Sie in docker-compose.yml services wie Webserver, Datenbank, Mailserver usw. Hier wird nur der Dienst web definiert.

Wenn Sie den Container mit dem Befehl "docker-compose" starten, wird der Container für jeden hier definierten Dienst gestartet.

3. Erstellen Sie einen Container und ein Django-Projekt

Führen Sie den Befehl "Docker-Compose Run" in dem Verzeichnis aus, in dem sich die Docker-Datei usw. befindet. Durch Angabe des Dienstnamens web nach run führen Sie den Befehl django-admin start project im Webdienst aus.

$ docker-compose run web django-admin.py startproject django_prj .

Gemäß build: ., das im Webdienst in docker-compose.yml beschrieben ist, wird das Image automatisch erstellt, wenn der Container nicht erstellt wird, und der Container wird zu diesem Zeitpunkt erstellt.

Sie können sehen, dass der Container im Dashboard-Fenster von Docker Desktop erstellt wurde. django_s_test_dashboard.png Wenn das Django-Projekt erfolgreich erstellt wurde, wird die Projektvorlagendatei im Verzeichnis src erstellt.

db.sqlite3
django_prj
manage.py

4. Starten Sie den Container

Führen Sie den Befehl "Docker-Compose Up" in dem Verzeichnis aus, in dem sich die Docker-Datei usw. befindet.

$ docker-compose up

Sie können sehen, dass der Container im Dashboard-Fenster von Docker Desktop gestartet wurde. django_s_test_dashboard.png Zur Bestätigung gehen Sie in Ihrem Browser zu "http: // localhost: 8000 /".

django_s_test_rocket.png Wenn Sie die Startseite mit dem Raketenbild sehen, funktioniert das Django-Projekt ordnungsgemäß. Vielen Dank für Ihre harte Arbeit: D┼─┤

Lesen Sie anschließend die offizielle Django-Dokumentation und die im Handel erhältlichen Nachschlagewerke. Wenn ein Befehl angegeben wird, fügen Sie Django im Docker-Container vor dem Befehl den Docker-Compose-Lauf [Name des Webdienstes] hinzu. Verschiedene Operationen werden für ausgeführt.

Impressionen

Wie bei Docker waren auch die Informationen zum Erstellen der Entwicklungsumgebung für Docker Compose und Django ein großer Erfolg, aber ich konnte nur einen Eintrag mit überspezifizierten Einstellungen für die Produktionsumgebung finden, sodass ich diesen Artikel selbst lesen kann, um darauf zurückzublicken. erstellt.

Obwohl es keinen Körper oder Deckel gibt, ist die im offiziellen Docker-Dokument erläuterte Methode zum Erstellen eines Django-Containers am einfachsten zu verstehen. Überprüfen Sie dies daher bitte.

Es gibt eine Übersetzung der Seite auf der japanischen Dokumentenseite, aber die Einstellungen können vom Original abweichen. Wenn Sie also kein Englisch lesen können, beziehen Sie sich auf das Original für die Einstellungen und übersetzen Sie die Erklärung ins Japanische. Ich denke, Sie sollten die Dokumentation überprüfen.

Referenz

Recommended Posts

Einfache Erstellung der Docker Compose + Django-Entwicklungsumgebung
Einfache Konstruktion der Docker + Django-Entwicklungsumgebung
Erstellen Sie mit Docker Compose eine Entwicklungsumgebung für Django + MySQL + nginx
Erstellen Sie mit Docker eine PureScript-Entwicklungsumgebung
Erstellen Sie mit Docker eine Wordpress-Entwicklungsumgebung
Erstellen Sie eine Entwicklungsumgebung für Docker + Rails6 + Postgresql
Erstellen Sie mit Docker schnell eine WordPress-Entwicklungsumgebung
Erstellen Sie eine Entwicklungsumgebung für Docker, Java und Code
[Kopieren und Einfügen] Erstellen Sie mit Docker Compose Part 2 eine Laravel-Entwicklungsumgebung
Versuchen Sie, mit Docker eine Java-Entwicklungsumgebung zu erstellen
Erstellen Sie mit Docker eine Node.js-Umgebung
Erstellen Sie eine Unity-Entwicklungsumgebung auf Docker
Docker x Java Erstellen einer zu einfachen Entwicklungsumgebung
Erstellen Sie eine WAS-Ausführungsumgebung aus Docker
Erstellen Sie eine Java-Entwicklungsumgebung auf dem Mac
Erstellen Sie eine Ultra96v2-Entwicklungsumgebung auf Docker 1
Erstellen Sie eine Browsertestumgebung mit Capybara in der Docker-Entwicklungsumgebung
Erstellen Sie eine Laravel / Docker-Umgebung mit VSCode devcontainer
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 6.x)
Erstellen Sie mit Docker eine lokale Entwicklungsumgebung für Rails-Tutorials (Rails 6 + PostgreSQL + Webpack)
[Win10] Erstellen Sie eine JSF-Entwicklungsumgebung mit NetBeans
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 5.x)
Vorlage: Erstellen Sie eine Ruby / Rails-Entwicklungsumgebung mit einem Docker-Container (Ubuntu-Version).
Vorlage: Erstellen Sie eine Ruby / Rails-Entwicklungsumgebung mit einem Docker-Container (Mac-Version).
Erstellen Sie mit Docker eine Spring Boot-Entwicklungsumgebung
Erstellen Sie eine Java-Entwicklungsumgebung mit VS Code
Erstellen einer Doker-basierten Entwicklungsumgebung unter Windows 10 Home 2020 Version 1 Bis WSL2-basierte Docker-Konstruktion
Erstellen Sie eine Entwicklungsumgebung, um Ruby on Jets + React-Apps mit Docker zu erstellen
Erstellen Sie einen Docker-Container für einen einfachen Python-Webserver
Erstellen Sie eine Ruby on Rails-Entwicklungsumgebung in AWS Cloud9
Erstellen Sie die Entwicklungsumgebung von Docker + Laravel PHP + Vue.j in 5 Minuten
[Hinweis] Erstellen Sie eine Python3-Umgebung mit Docker in EC2
WSL2 + VSCode + Docker-Entwicklungsumgebung
Erstellen einer Docker-Umgebung mit WSL
Ruby ① Erstellen einer Windows-Umgebung
Installieren Sie Ubuntu 20.04 in der virtuellen Box unter Windows 10 und erstellen Sie eine Entwicklungsumgebung mit Docker
So beenden Sie Docker für Mac und erstellen eine Docker-Entwicklungsumgebung mit Ubuntu + Vagrant
Ich habe eine Entwicklungsumgebung mit Rails6 + Docker + PostgreSQL + Materialise erstellt.
Erstellen Sie mit IntelliJ IDEA eine Entwicklungsumgebung "Spring Thorough Introduction"
Ich habe versucht, mit Docker eine Padrino-Entwicklungsumgebung zu erstellen
Erstellen Sie mit Docker eine Vue3-Umgebung!
Erstellen Sie die Node.js-Umgebung mit Docker Compose
Erstellen Sie mit Docker eine lokale Couchbase-Umgebung
Erstellen Sie mit Pleiades 4.8 eine Tomcat 8.5-Umgebung
Erstellen einer Java-Entwicklungsumgebung (für Mac)
Erstellen Sie eine XAMPP-Umgebung unter Ubuntu