Mit Docker durchgeführte Umgebungswartung (Ich möchte GrADS in Python nachbearbeiten

Was möchten Sie tun?

Verwenden wir also die Containervirtualisierung.

Docker Was mit Docker gut ist, ist, dass Sie einen dedizierten virtuellen Computer erstellen können, der die erforderliche Nachbearbeitung durchführt, ohne die Computerressourcen zu verschmutzen. Sie können einen Container starten, wenn Sie ihn verwenden, ihn nach der Verarbeitung verwerfen und bei Bedarf erneut starten. Im Fall von Docker sind die Startkosten sehr niedrig, sodass Sie es einfach starten, einen Prozess ausführen und dann erneut verwerfen können.

Verfahren zur Erhaltung der Umwelt

Es wäre schön, eine Docker-Datei für die Automatisierung zu schreiben, aber jetzt starte und pflege ich einfach die Shell und verpflichte sie einfach, um das Image zu erstellen. Wenn Sie es längere Zeit verwenden möchten, sollten Sie eine Docker-Datei erstellen, damit es aktualisiert werden kann. Es ist jedoch besser, zuerst die Grundfunktionen in der Shell zu überprüfen.

Dieses Mal, basierend auf Ubuntu, installieren Sie cdo, pip3 und netcdf4.

1. Ziehen Sie das Originalbild (nehmen Sie es auf) und führen Sie es aus

Dieses Mal werde ich Ubuntu verwenden.

$ docker pull ubuntu/ubuntu
$ docker images

Sie können bestätigen, dass das Bild erstellt wurde.

So führen Sie das Image aus

$ docker run -it ubuntu/ubuntu

Wird besorgt.

2. Installation der erforderlichen Software

Installieren Sie pip3 und cdo. Installieren Sie auch "netCDF4" mit "pip3".

# apt update
# apt install python3 python3-pip cdo
# pip3 install netCDF4

3. Funktionsprüfung

Überprüfen Sie, ob es mit cdo richtig konvertiert werden kann und netCDF4 auch importiert werden kann.

# python3
>>> import netCDF4 as nc
>>> ^D
# cdo
....

4. Verpflichten Sie sich, ein Bild zu erstellen

Verwenden Sie den Befehl exit oder Strg + d, um ein Bild zu beenden und zu erstellen. Die zum Erstellen des Bildes erforderliche Container-ID erfordert "-a", um den abgeschlossenen Container zu bestätigen.

# exit
(host) $ docker ps -a

Ich denke, der Bildschirm wird so aussehen. Die CONTAINER-ID ist die Container-ID, die zum Zeitpunkt des Festschreibens angegeben wurde. Es gibt einen Bildnamen in IMAGE, der vor ** in STATUS beendet wurde, sodass Sie sehen können, welchen Sie haben. image.png

$ docker commit [container id] [author]/[Bildname]

Lassen Sie uns so begehen.

$ docker images

Sie können bestätigen, dass das Bild erstellt wurde.

5. Lassen Sie mich tatsächlich rechnen

Es gibt zwei Möglichkeiten, um tatsächlich zu berechnen, und Sie können es ausführen und dann interaktiv über die Shell ausführen. Dieses Mal werde ich jedoch einen Befehl zum Zeitpunkt der Ausführung angeben und ausführen.

Indem Sie das Verzeichnis der Programme und Datengruppen an Docker binden, können Sie vom Container aus problemlos darauf zugreifen. Führen Sie auch eine X-Weiterleitung durch, um das Diagramm zu überprüfen.

$ sudo docker run -e DISPLAY=$DISPLAY --net host -v /tmp/.X11-unix:/tmp/.X11-unix -v $HOME/.Xauthority:/root/.Xauthority -v /home/xxx/:/home/ --shm-size 16g xxx/ubuntu-cdo2 /bin/bash -c "cd /home/speedy-epyc/speedy/python-script; python3 rmse.py"

Fügen Sie bei Bedarf --shm-size hinzu, wenn ein Programm fehlt.

Recommended Posts

Mit Docker durchgeführte Umgebungswartung (Ich möchte GrADS in Python nachbearbeiten
Ich möchte mit einem Roboter in Python arbeiten.
Ich möchte mit Python debuggen
Ich möchte eine Python-Umgebung erstellen
Ich möchte Protokolle mit Python analysieren
Ich möchte mit aws mit Python spielen
Ich möchte APG4b mit Python lösen (nur 4.01 und 4.04 in Kapitel 4)
Ich möchte Rails mit Rails auch in einer vagabundierenden Umgebung betreiben
Ich möchte MATLAB feval mit Python verwenden
Ich wollte ein Jupyter-Notebook mit Docker in einer Pip-Umgebung (Opticspy) verwenden.
Ich möchte mit Python ein Fenster erstellen
Ich möchte ein Spiel mit Python machen
Ich habe Umgebungsvariablen in Docker festgelegt und in Python angezeigt.
Ich möchte verschachtelte Dicts in Python zusammenführen
Ich möchte Temporäres Verzeichnis mit Python2 verwenden
#Unresolved Ich möchte Gobject-Introspection mit Python3 kompilieren
Ich möchte APG4b mit Python lösen (Kapitel 2)
Ich möchte mit Python in eine Datei schreiben
Ich möchte den Fortschritt in Python anzeigen!
Ich möchte Python in der Umgebung von pyenv + pipenv unter Windows 10 verwenden
Ich möchte in Python schreiben! (1) Überprüfung des Codeformats
Ich möchte eine Variable in einen Python-String einbetten
Ich möchte Timeout einfach in Python implementieren
Ich möchte mit einem Knopf am Kolben übergehen
Ich möchte die Optimierung mit Python und CPlex behandeln
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
Auch mit JavaScript möchte ich Python `range ()` sehen!
Ich habe eine Python3-Umgebung unter Ubuntu mit direnv erstellt.
Ich möchte eine Datei mit Python zufällig testen
Ich war süchtig danach, 2020 mit Selen (+ Python) zu kratzen
Ich möchte mit Python-Datenklasse nach hinten erben
Ich möchte in Python schreiben! (3) Verwenden Sie Mock
Ich möchte Lambda mit Python auf Mac AWS!
Ich möchte R-Datensatz mit Python verwenden
Ich möchte einen Quantencomputer mit Python betreiben
Ich möchte am Ende etwas mit Python machen
Ich möchte Strings in Kotlin wie Python manipulieren!
Ich habe einen Blackjack mit Python gemacht!
Bereiten Sie die Python3-Umgebung mit Docker vor
Ich habe mit Python einen Blackjack gemacht.
Ich habe Wordcloud mit Python gemacht.
Ich möchte Daten mit Python analysieren können (Teil 3)
Ich habe ein einfaches Tippspiel mit tkinter of Python gemacht
Ich möchte Daten mit Python analysieren können (Teil 1)
Ich habe ein Paket erstellt, um Zeitreihen mit Python zu filtern
Ich möchte so etwas wie Uniq in Python sortieren
Ich möchte Daten mit Python analysieren können (Teil 4)
Ich möchte Daten mit Python analysieren können (Teil 2)
Ich möchte automatisch an Online-Kursen mit Python + Selen teilnehmen!
[Python] Ich möchte die Option -h mit argparse verwenden
Ich möchte eine virtuelle Umgebung mit Jupyter Notebook verwenden!
Ich habe mit Tkinter of Python ein Puzzlespiel (wie) gemacht
Ich möchte Python mit VS-Code ausführen können
Ich möchte eine schöne Ergänzung zu input () in Python hinzufügen
Erstellen Sie eine MySQL + Python-Umgebung mit Docker
Ich möchte eine GUI-Entwicklungsumgebung mit Python oder Golang auf dem Mac einrichten
Numer0n mit Elementen, die mit Python erstellt wurden
Ich habe eine Klasse erstellt, um das Analyseergebnis von MeCab in ndarray mit Python zu erhalten
Ich habe mit Python eine Lotterie gemacht.