Quand j'ai essayé d'afficher une image avec matplotlib etc. dans le conteneur Docker, je l'ai écrite. Je le fais dans l'environnement Ubuntu 16.04.6 LTS.
[problème] Après l'exécution de Docker, entrez le conteneur et plot.show () avec matplotlib, aucune image ne s'affiche et la commande se termine. Ou
docker _tkinter.TclError: couldn't connect to display _tkinter.TclError: no display name and no $DISPLAY environment variable _tkinter.TclError: couldn't connect to display :0.0 J'obtiens une erreur comme celle-ci.
[approche] ① Commencez par transférer la commande suivante vers le terminal
$sudo apt-get install x11-xserver-utils
$xhost +
② Lorsque vous exécutez docker, ajoutez ce qui suit aux options
-v /tmp/.X11-unix:/tmp/.X11-unix
-e DISPLAY=unix$DISPLAY
③ Si matplotlib n'est pas dans le conteneur, en mode interactif après le démarrage du conteneur
pip install matplotlib
④ Si tkinter n'est pas dans le conteneur, en mode interactif après le démarrage du conteneur
apt-get update
apt-get install python3-tk
Lors de l'installation de python3-tk, il y avait une question sur la zone de résidence.
Maintenant, l'image est bien affichée même dans le conteneur. : famille: