Führen Sie die GUI-Anwendung unter MacOS 10 in Docker aus


0

Ich möchte eine Anwendung in einem Docker-Container ausführen, mit der eine GUI gestartet werden kann. Dieser Leitfaden empfiehlt die Verwendung von XQuartz. Führen Sie nach dem Starten von XQuartz Folgendes aus:

ip=$(ifconfig en0 | grep inet | awk '$1=="inet" {print $2}')
xhost + $ip
docker run -d --name firefox -e DISPLAY=$ip:0 -v /tmp/.X11-unix:/tmp/.X11-unix jess/firefox

Dadurch erhält Ihr lokales Gerät die Berechtigung, auf den Hostserver zuzugreifen. Beim Ausführen des obigen Befehls erhalte ich den Fehler:

cannot connect to X server 10.0.0.69:0

Bitte erläutern Sie, was Sie tun und was Sie versucht haben, um das Problem zu beheben. Ihre Frage ist im Detail viel zu kurz.
Tony Williams

Antworten:


2

Ich habe nicht die richtige Anzeigenummer verwendet. In der obigen Anleitung wird die Standard-Anzeigenummer verwendet :0.

Finden Sie den richtigen, indem Sie Folgendes ausführen:

  display_number=`ps -ef | grep "Xquartz :\d" | grep -v xinit | awk '{ print $9; }'`

Ändern Sie dann Ihren Docker-Ausführungsbefehl, um die Flags einzuschließen:

-e DISPLAY=$ip:$display_number \
-v /tmp/.X11-unix:/tmp/.X11-unix \
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.