Ich konnte xeyes in dem Artikel "Anzeigen von Fenstern von X11-Anwendungen, die auf Docker-Containern ausgeführt werden" (https://qiita.com/hoto17296/items/7c1ba10c1575c6c38105) zum Laufen bringen.
Der --net Host
wird wie unten gezeigt angegeben.
$ docker run --rm -it \
--net host \
-e DISPLAY=$DISPLAY \
-v $HOME/.Xauthority:/root/.Xauthority \
xeyes
--net host
verwendet ein Netzwerk, das nur zwischen Docker-Host und Docker-Container kommunizieren kann.
Daher kann es nicht verwendet werden, wenn Sie vom Docker-Container aus eine Verbindung zum Internet herstellen möchten.
In diesem Artikel können Sie vom Container aus auf das Netzwerk zugreifen und die X11-App verwenden.
Dockerfile
Unterschied zu Original
bash
auf dem Image.Inhalt von conf / Dockerfile
FROM alpine
RUN apk --no-cache add bash xeyes
CMD ["/bin/bash"]
docker build -t xeyes conf
xhost +local:
Unterschied zu Original
/ tmp / .X11-unix
mit -v
mit dem Host.docker run --rm -it \
-e DISPLAY=unix${DISPLAY} \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v $HOME/.Xauthority:/root/.Xauthority \
xeyes
bash-5.0# ping www.example.com
PING www.example.com (93.184.216.34): 56 data bytes
64 bytes from 93.184.216.34: seq=0 ttl=51 time=149.040 ms
64 bytes from 93.184.216.34: seq=1 ttl=51 time=172.391 ms
64 bytes from 93.184.216.34: seq=2 ttl=51 time=195.793 ms
^C
--- www.example.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 149.040/172.408/195.793 ms
bash-5.0# xeyes
Wenn "xhost + local:" nicht ausgeführt wird, tritt der folgende Fehler auf.
bash-5.0# xeyes
No protocol specified
Error: Can't open display: unix:0
GitHub
Ich habe die Docker-Datei und die Skripte, die ich in diesem Artikel geschrieben habe, auf GitHub abgelegt.
https://github.com/m-tmatma/xeyes-docker
Recommended Posts