--Docker und Docker-Compose müssen installiert sein
Ich verwende die Docker Toolbox, sollte dies jedoch mit Docker Desktop tun können (nicht überprüft).
Installieren Sie VcXsrv, um das Fenster des Containers auf der Hostseite anzuzeigen. VcXsrv: Download-Link
Um einen Sicherheitsfehler zu vermeiden, rufen Sie hier die IP-Adresse der VM usw. ab, auf der der Container ausgeführt wird. Fügen Sie die erhaltene IP-Adresse zu "x0.hosts" in dem Ordner hinzu, in dem VcXsrv installiert ist.
Normales Installationsziel: C: \ Programme \ VcXsrv
Starten Sie nach der Installation X Lanuch mit den Standardeinstellungen. OK, wenn es in der Taskleiste gestartet wird!
Erstellen Sie eine Docker-Datei und eine Docker-compose.yml.
Docekrfile
#Auszug nur der minimal notwendigen Teile
FROM python:3.8.2
RUN pip install pysimplegui
Installieren Sie einfach PySimpleGUI mit pip install. Fügen Sie Benutzer, Ordner, andere Abhängigkeiten usw. selbst hinzu.
Docker-compose.yml
version: "3.2"
services:
python-gui:
build: .
restart: always
tty: true
volumes:
-Host-seitiger Ordner:Containerseitiger Ordner
environment:
- DISPLAY=Host-IP-Adresse:0.0
Die Einstellung von X11 wird durch die Umgebungsvariable festgelegt. Die Host-IP-Adresse ist hier die IP-Adresse von DockerNat oder die IP-Adresse des VirtualBox-Netzwerks. (Natürlich muss es sich um ein Netzwerk handeln, das mit dem Container verbunden ist.)
Qiita-Referenzartikel: GUI mit Docker für Windows (wie man X11 nicht mit ssh überträgt)
Sobald Sie dies getan haben, starten Sie den Container und Sie können loslegen
docker-compose up -d --build
Wenn Sie den erstellten Code ausführen, sollte auf der Hostseite ein Fenster erstellt werden.
Wenn die folgende Fehlermeldung angezeigt wird, funktionieren die X11-Einstellungen nicht ordnungsgemäß. Überprüfen Sie die Einstellungen daher erneut.
ErrorMessage
Kürzung: couldn't connect to display "Host-IP-Adresse:0.0"
Da dies der Hauptartikel zum Erstellen von Umgebungen ist, lesen Sie bitte den folgenden Artikel zum Erstellen von Code.
Die offizielle Dokumentation kann solide sein.
Ich werde auch Artikel veröffentlichen, die auf Japanisch hilfreich waren
Ich habe auch einen Artikel darüber geschrieben, wie man eine in einem Container erstellte Anwendung in eine EXE für Windows verwandelt. Implementieren der EXE-Konvertierung von Python für Windows mit Docker-Container
Recommended Posts