Maintenance de l'environnement réalisée avec Docker (je souhaite post-traiter GrADS en Python

Qu'est-ce que tu veux faire?

--Je veux lire le fichier pour GrADS avec Python et effectuer un post-traitement. ――Mais l'environnement des ressources informatiques partagées doit être propre ――Cependant, vous souhaitez installer de nombreux éléments, tels que des logiciels de conversion et des bibliothèques.

Utilisons donc la virtualisation des conteneurs.

Docker Ce qui est bien avec Docker, c'est que vous pouvez créer un ordinateur virtuel dédié qui effectue le post-traitement nécessaire sans polluer les ressources informatiques. Vous pouvez lancer un conteneur lorsque vous l'utilisez, le supprimer après l'avoir traité et le relancer si nécessaire. Dans le cas de Docker, le coût de démarrage est très faible, vous pouvez donc facilement le démarrer, effectuer un processus, puis le rejeter à nouveau.

Procédure de maintenance environnementale

Ce serait bien d'écrire un Dockerfile pour l'automatisation, mais pour l'instant je vais simplement lancer et maintenir le shell et simplement le valider pour créer l'image. Si vous souhaitez l'utiliser pendant une longue période, vous devez créer un Dockerfile afin qu'il puisse être mis à niveau, mais il est préférable de vérifier d'abord les fonctions de base dans le shell.

Cette fois, basé sur Ubuntu, installez cdo, pip3 et netcdf4.

1. Tirez (prenez) l'image originale et exécutez-la

Cette fois, j'utiliserai Ubuntu.

$ docker pull ubuntu/ubuntu
$ docker images

Vous pouvez confirmer que l'image a été créée.

Pour exécuter l'image

$ docker run -it ubuntu/ubuntu

ça ira.

2. Installation des logiciels requis

Installez pip3 et cdo. Installez également netCDF4 avec pip3.

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

3. Contrôle de fonctionnement

Vérifiez s'il peut être converti correctement avec cdo et netCDF4 peut également être importé.

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

4. Engagez-vous à créer une image

Utilisez la commande exit ou Ctrl + d pour quitter et créer une image. L'ID de conteneur requis pour créer l'image nécessite «-a» pour confirmer le conteneur terminé.

# exit
(host) $ docker ps -a

Je pense que l'écran ressemblera à ceci. CONTAINER ID sera l'ID de conteneur spécifié au moment de la validation. Il y a un nom d'image dans IMAGE et est sorti il y a ** dans STATUS, afin que vous puissiez voir lequel vous avez. image.png

$ docker commit [container id] [author]/[nom de l'image]

Engageons-nous comme ça.

$ docker images

Vous pouvez confirmer que l'image a été créée.

5. Permettez-moi de calculer

Il existe deux façons de calculer réellement, et vous pouvez également exécuter puis exécuter de manière interactive à partir du shell. Cependant, cette fois, je vais spécifier une commande au moment de l'exécution et l'exécuter.

En liant le répertoire des programmes et des groupes de données à Docker, vous pouvez en fait y accéder facilement à partir du conteneur. Faites également le transfert X pour vérifier le graphique.

$ 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"

Ajoutez --shm-size si nécessaire s'il manque un programme.

Recommended Posts

Maintenance de l'environnement réalisée avec Docker (je souhaite post-traiter GrADS en Python
Je veux travailler avec un robot en python.
Je veux déboguer avec Python
Je veux créer un environnement Python
Je veux analyser les journaux avec Python
Je veux jouer avec aws avec python
Je veux résoudre APG4b avec Python (seulement 4.01 et 4.04 au chapitre 4)
Je veux utiliser des rails avec des rails même dans un environnement vagabond
Je veux utiliser MATLAB feval avec python
Je voulais utiliser le notebook jupyter avec docker dans l'environnement pip (opticspy)
Je veux créer une fenêtre avec Python
Je veux faire un jeu avec Python
J'ai défini des variables d'environnement dans Docker et je les ai affichées en Python.
Je veux fusionner des dictionnaires imbriqués en Python
Je souhaite utiliser le répertoire temporaire avec Python2
#Unresolved Je veux compiler gobject-introspection avec Python3
Je veux résoudre APG4b avec Python (chapitre 2)
Je veux écrire dans un fichier avec Python
Je veux afficher la progression en Python!
Je souhaite utiliser Python dans l'environnement de pyenv + pipenv sous Windows 10
Je veux écrire en Python! (1) Vérification du format de code
Je souhaite intégrer une variable dans une chaîne Python
Je veux facilement implémenter le délai d'expiration en python
Je veux faire la transition avec un bouton sur le ballon
Je veux gérer l'optimisation avec python et cplex
Je veux écrire en Python! (2) Écrivons un test
Même avec JavaScript, je veux voir Python `range ()`!
J'ai créé un environnement Python3 sur Ubuntu avec direnv.
Je veux échantillonner au hasard un fichier avec Python
J'étais accro au grattage avec Selenium (+ Python) en 2020
Je veux hériter de l'arrière avec la classe de données python
Je veux écrire en Python! (3) Utiliser des simulacres
Je veux AWS Lambda avec Python sur Mac!
Je veux utiliser le jeu de données R avec python
Je veux faire fonctionner un ordinateur quantique avec Python
Je veux faire quelque chose avec Python à la fin
Je veux manipuler des chaînes dans Kotlin comme Python!
J'ai fait un blackjack avec du python!
Préparer l'environnement python3 avec Docker
J'ai fait un blackjack avec Python.
J'ai créé wordcloud avec Python.
Je veux pouvoir analyser des données avec Python (partie 3)
J'ai fait un jeu de frappe simple avec tkinter de Python
Je veux pouvoir analyser des données avec Python (partie 1)
J'ai créé un package pour filtrer les séries chronologiques avec python
Je veux faire quelque chose comme sort uniq en Python
Je veux pouvoir analyser des données avec Python (partie 4)
Je veux pouvoir analyser des données avec Python (partie 2)
Je veux assister automatiquement à des cours en ligne avec Python + Selenium!
[Python] Je souhaite utiliser l'option -h avec argparse
Je souhaite utiliser un environnement virtuel avec jupyter notebook!
J'ai fait un jeu de puzzle (comme) avec Tkinter of Python
Je veux pouvoir exécuter Python avec VS Code
Je veux ajouter un joli complément à input () en python
Construire un environnement Mysql + Python avec docker
Je souhaite configurer un environnement de développement GUI avec Python ou Golang sur Mac
Numer0n avec des objets fabriqués avec Python
J'ai créé une classe pour obtenir le résultat de l'analyse par MeCab dans ndarray avec python
J'ai fait une loterie avec Python.