Wie speichern Sie Bild.png, erzeugt mit Matplotlib, vom Docker -Bild zum Host -Computer?Python

Python-Programme
Anonymous
 Wie speichern Sie Bild.png, erzeugt mit Matplotlib, vom Docker -Bild zum Host -Computer?

Post by Anonymous »

Ziel des Programms ist es, ein Bild (wie .png) zu speichern, das mit Matplotlib in Python im Hostverzeichnis erzeugt wird. Das erwartete Ergebnis ist, dass Picture.png im Verzeichnis angezeigt wird, das die zum Erstellen des Docker-Image erforderlichen Dateien enthält. < /P>

Code: Select all

docker build -t bar-graph-image .< /code> erstellt das Docker-Image erfolgreich.
docker run bar-graph-image
führt das Bild aus, aber ich kann das generierte Bild nicht finden. Docker zeigt auch keinen neu erstellten Container an. Docker run -v :. BAR-Graph-Image führt zu einem Fehler, der sagt, dass '.' ist ein ungültiger Mountspfad und der Pfad muss absolut sein. Ich weiß jedoch nicht, was der absolute Pfad des Containers wäre, und Docker scheint auch keinen Container zu erstellen, um einen Pfad zu finden. Dies ist die vollständige Fehlermeldung: Docker: Fehlerantwort aus Dämon: Ungültige Volumenspezifikation: ' :.': Ungültige Mount -Konfiguration für Typ "Binde": Ungültiger Mount -Pfad: ". Der Mount -Pfad muss absolut sein
Hier ist der Code:
dockerfile

Code: Select all

# Use a slim Python base image for a smaller image size
FROM python:3.9-slim-buster

# Set the working directory inside the container
WORKDIR .

# Install system dependencies required by Matplotlib
# These might include build tools and libraries for font rendering, image formats, etc.
RUN apt-get update && \
apt-get install -y \
build-essential \
pkg-config \
libfreetype6-dev \
libpng-dev \
&& rm -rf /var/lib/apt/lists/*

# Copy your requirements.txt file and install Python dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy your application code into the container
COPY . .

# Command to run your application (adjust as needed)
CMD ["python", "bar_graph.py"]
< /code>
rquirements.txt
matplotlib
< /code>
BAR_GRAPH.PY
import matplotlib.pyplot as plt

# Data for the bar graph
categories = ['Apples', 'Bananas', 'Oranges', 'Grapes']
values = [10, 15, 7, 12]

# Create the bar graph
plt.bar(categories, values)

# Add labels and title
plt.xlabel('Fruit Type')
plt.ylabel('Quantity')
plt.title('Fruit Quantities in Stock')

# Save graph as an image
plt.savefig("my_plot.png")

# Display the graph
plt.show()
Etwas wie Docker cp container_id: /foo.txt foo.txt könnte möglich sein; Dadurch muss ein neuer Container erstellt werden, um sicherzustellen, dass der Code auf dem neuesten Stand ist. Ich habe einen aktuellen Container gemacht, ran Docker cp container_id: /my_plot.png my_plot.png einen Fehler, der besagt, dass die Datei nicht im Container gefunden wurde. Sicher, enthüllt, dass im Container namens my_plot.png keine Datei vorhanden ist. Ich bin mir nicht sicher, ob Sleep Infinity verhindert, dass die Python -Datei ausgeführt wird, oder was noch dazu führen könnte>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post