Décrit comment exécuter matplotlib sur un conteneur Windows Docker. J'ai essayé Windows avec Windows 10 Pro 64Bit version 2004. J'ai également essayé des versions plus anciennes. Docker Desktop peut être compatible WSL2 ou rester le même. Comme il se trouve dans le conteneur Docker, les graphiques tels que matplotlib ne seront pas affichés du côté hôte tels quels. Pour afficher sur l'écran côté hôte (côté Windows), je pense que le système d'exploitation du conteneur est un système Linux, il est donc nécessaire de démarrer XServer du côté Windows et de faire passer l'affichage sur ce XServer.
Tout d'abord, installez * VcXsrv *. Après l'installation, cliquez sur * XL launch * sous * VcXsrv * dans le menu Windows. Vous pouvez conserver les paramètres par défaut.
Vous ne devriez pas avoir besoin de configurer * Firewall *. De plus, si vous l'exécutez sur le même PC, cela ne devrait pas être nécessaire, mais si vous obtenez une erreur due à l'authentification, etc., veuillez essayer ce qui suit.
Une fois démarré, vous devriez voir l'icône VcXsrv X Server en bas à droite de l'écran. Faites un clic droit sur l'icône et sélectionnez Applications xclock dans le menu qui apparaît, et xclock devrait démarrer comme indiqué ci-dessous!
docker-compose.yml
Ajoutez ce qui suit à * docker-compose.yml * comme paramètre d'affichage.
docker-compose.yml
environment:
DISPLAY: host.docker.internal:0.0
Si vous avez besoin d'un affichage japonais, veuillez ajouter ce qui suit à * Dockerfile *.
RUN apt-get update && apt-get install -y fonts-ipafont
Cela ressemble à un programme en cours d'exécution.
test.py
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-3, 3, 0.1)
y = np.sin(x)
fig = plt.plot(x, y)
plt.show()
matplotlib Lorsque le programme ci-dessus est exécuté dans Docker, le graphique suivant s'affiche.
Le graphique s'est-il affiché avec succès? ?? C'est tout, nous espérons que vous pourrez contribuer à améliorer l'efficacité du développement de chacun.