Debuggen Sie die mit Docker-Compose mit VS-Code erstellte Django-Umgebung aus der Ferne

Bereiten Sie die Django-Umgebung mit Docker-Compose vor

Erstellen Sie die erforderlichen Dateien

Erstellen Sie Dockerfile, docker-compose.yaml, require.txt unter Schnellstart: Compose and Django.

Dockerfile


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

Ich möchte mit einem Tool auf Postgres zugreifen, daher veröffentliche ich den Beitrag. Dann war postgres wütend, dass er das Superuser-Passwort nicht hatte, und antwortete mit der Umgebungsvariablen in der Fehlermeldung. Natürlich ist es besser, das Passwort des Superusers festzulegen, aber diesmal ist es eine gute Umgebung, um sich zu bewegen, also ist es einfach.

docker-compose.yaml


services:
  db:
    image: postgres
    environment:
      POSTGRES_HOST_AUTH_METHOD: "trust"
    ports:
      - "5432:5432"
  web:
    build: .
    command: python3 manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db

require.txt hat versucht, die Versionsspezifikation von Django zu entfernen.

requirements.txt


Django
psycopg2

Versuche dich zu bewegen

Erstellen Sie ein Projekt.

docker-compose run web django-admin.py startproject composeexample .

Stellen Sie die Datenbank ein. Versuchen Sie, eine Verbindung zu Postgres herzustellen.

composeexample/settings.py


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'postgres',
        'USER': 'postgres',
        'HOST': 'db',
        'PORT': 5432,
    }
}

Starten Sie den Server!

docker-compose up

Führen Sie localhost: 8000 im Browser aus, und wenn die Django-Seite angezeigt wird, ist sie erfolgreich.

Zeigen Sie die Verwaltungsseite an

Ich weiß nicht, ob ich wirklich mit Postgres verbunden bin. Lassen Sie uns also die Verwaltungsseite anzeigen.

Migration

Erstellen Sie die Systemtabellen, die Django benötigt.

docker-compose run web python3 manage.py makemigrations
docker-compose run web python3 manage.py migrate

Erstellt vom Administrator

Erstellen Sie einen Benutzer, der sich auf der Administrationsseite anmeldet.

docker-compose run web python3 manage.py createsuperuser
Username (leave blank to use 'root'): 
Email address: [email protected]
Password: 
Password (again): 

Melden Sie sich auf der Administrationsseite an

Wenn Sie "localhost: 8000 / admin" in Ihrem Browser ausführen, wird die Anmeldeseite aufgerufen. Versuchen Sie, sich mit dem gerade erstellten Superuser anzumelden. OK, wenn Sie sich anmelden können.

Remote-Debug-Einstellungen

Voraussetzung ist, dass Remote Development in VS Code installiert ist.

Konfigurationsdatei hinzufügen

  1. Klicken Sie auf die Schaltfläche Remote Host (Markierung unten links im VS-Code).
  2. Wählen Sie "Remote-Container: Entwicklungscontainer-Konfigurationsdateien hinzufügen ..."
  3. Wählen Sie "From'docker-compose.yaml"
  4. Wählen Sie "Web"

Ändern Sie die resultierende Datei "devcontainer.json", um sie für das Remote-Debugging an den Container anzuhängen. Die zusammen erstellte docker-compose.yml muss nicht geändert werden.

json:.devcontainer/devcontainer.json


{
	"name": "Existing Docker Compose (Extend)",
	"dockerComposeFile": [
		"../docker-compose.yaml",
		"docker-compose.yml"
	],
	"service": "web",
	"workspaceFolder": "/workspace",
	"settings": {
		"terminal.integrated.shell.linux": "/bin/bash"
	},
	//Docker- und Python-Erweiterungen hinzugefügt
	"extensions": [
		"ms-azuretools.vscode-docker",
		"ms-python.python"
	],
	//Stoppen Sie den Container am Ende von VS Code
	"shutdownAction": "stopCompose",
}

Mit Container verbinden

Speichern Sie den Arbeitsbereich hier. Wenn es sich nicht um einen Arbeitsbereich handelt, tritt im nächsten Schritt ein Fehler auf.

  1. Klicken Sie auf die Schaltfläche Remote Host
  2. Klicken Sie auf "Remote-Container: Ordner in Containern öffnen ..."
  3. Wählen Sie das Verzeichnis aus, in dem sich der .devcontainer befindet

Remote-Debugging

  1. Klicken Sie auf das Ausführungssymbol auf der linken Seite des Bildschirms
  2. Klicken Sie auf Create launch.json file
  3. Wählen Sie "Docker Debug in Container"

Bearbeiten Sie die erstellte launch.json.

json:.vscode/launch.json


{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "django container",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/manage.py",
            "console": "integratedTerminal",
            "args": [
                "runserver",
                "--noreload",
                "0.0.0.0:8888"
            ],
            "django": true
        }
    ]
}

Da der Interpreter festgelegt ist, erstellen Sie ".vscode / settings.json" und nehmen Sie die folgenden Einstellungen vor.

{
    "python.pythonPath": "/usr/local/bin/python"
}

Recommended Posts

Debuggen Sie die mit Docker-Compose mit VS-Code erstellte Django-Umgebung aus der Ferne
Debuggen Sie Python mit VS-Code
[Venv nicht erforderlich] Die stärkste Python-Entwicklungsumgebung, die mit Remote Containern erstellt wurde [VS Code / Docker]
Debug-Einstellungen in der virtuellen Umgebung bei Verwendung von Pipenv mit VSCode
Debuggen mit VS-Code mit Boost Python Numpy
Verwenden Sie Python in einer Anaconda-Umgebung mit VS-Code
Erstellen Sie eine Python-Ausführungsumgebung mit VS-Code
Cross-Compilieren von Raspberry Pi und Erstellen einer Remote-Debug-Entwicklungsumgebung mit VS Code
Konstruktionsvorlage für die lokale Python-Entwicklungsumgebung [Flask / Django / Jupyter mit Docker + VS-Code]
Erstellen Sie eine Django-Umgebung mit Docker-Compose (MariaDB + Nginx + uWSGI).
[Django] Verwenden Sie VS Code + Remote-Container, um schnell eine Entwicklungsumgebung für Django-Container (Docker) zu erstellen.
Python mit VSCode (Windows 10)
Minimale Konfigurations-Website-Umgebung mit Django
Versuchen Sie, Python in der mit pipenv erstellten Django-Umgebung auszuführen
Erstellen Sie mit Docker eine Django-Entwicklungsumgebung! (Docker-compose / Django / postgreSQL / nginx)
Probieren Sie Fortran mit VS-Code aus, um Einstellungen zu debuggen. [Win10]
Erstellen Sie eine Go-Entwicklungsumgebung mit den Remote-Containern von VS Code
Erstellen Sie eine Python-Umgebung mit WSL + Pyenv + Jupyter + VSCode
I "Ein Editor, der Django nicht remote debuggen kann ..." VS Code "Das ist möglich." ~ Docker-compose edition ~
Aufbau einer Django-Entwicklungsumgebung mit Docker-Compose + Nginx + uWSGI + MariaDB (macOS Edition)
So entwickeln Sie Container auf Remote-Servern mit VS Code Remote-Containern
Installieren Sie Python mit Mac vs Code
So erstellen Sie eine Python- und Jupyter-Ausführungsumgebung mit VSCode
[DynamoDB] [Docker] Erstellen Sie mit Docker-Compose eine Entwicklungsumgebung für DynamoDB und Django
Bereiten Sie mit venv mit VS Code eine virtuelle Python-Umgebung für Ihr Projekt vor
Ich war süchtig danach, eine Python-Venv-Umgebung mit VS Code zu erstellen
Vorgehensweise zum Erstellen einer virtuellen Python-Umgebung mit VS-Code unter Windows
CSS-Umgebung in 10 Minuten mit Django erstellt
Erstellen Sie mit Docker-Compose eine schnelle API-Umgebung
Pass PYTHONPATH in 1 Minute mit VS Code
Japanisches Diagramm mit VS Code + matplotlib anzeigen
VSCodes Pylint nervt beim Import! !! !! !!
Einfache Erstellung einer Python-Datenanalyseumgebung mit Windows 10 Pro x VS Code x Docker
VS Code + Azure-Funktionen + Python-Umgebungskonstruktionsverfahren
Ich kann mit Python3.5 (Windows) + django1.7.1 kein Projekt erstellen.
Erstellen Sie eine Python-Entwicklungsumgebung mit Visual Studio Code
Starten Sie Django in einer virtuellen Umgebung mit Pipenv
Ich habe Flask mit Remote-Containern von VS Code ausprobiert
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Erstellen Sie mit Vagrant in 5 Minuten eine Django-Umgebung
Erstellen Sie mit Docker eine Umgebung aus Nginx + uWSGI + Python (Django)
Erstellen Sie mit der Doker Toolbox eine Django-Entwicklungsumgebung
Einfache Aufgabenliste, erstellt mit Python + Django
Erstellen Sie mit IntelliJ schnell eine Python Django-Umgebung
Verwenden Sie den Docker-Entwicklungscontainer bequem mit VS Code
Richten Sie die TinyGo-Entwicklungsumgebung für VS Code ein
Ich habe versucht, eine Umgebung mit WSL + Ubuntu + VS-Code in einer Windows-Umgebung zu erstellen
Bearbeiten und debuggen Sie den Code in Raspberry Pi mit der SSH-Verbindungsfunktion von VSCode
Verfahren zum Anhängen und Debuggen von VS-Code an Jupyter Lab auf einem Remote-Server
Umgebungskonstruktion für diejenigen, die Python einfach mit VSCode (für Mac) lernen möchten