Conteneur Docker pour traitement des Données OHP
En bref
Pour faire court :
- Télécharger l'image
docker pull chottier/ohpstudent:2.0 - Créer le conteneur et le démarrer
docker run -d -p 8910:8888 -v /repertoire/travail/ohp:/home/ohpstudent/work --name ohpprocessim chottier/ohpstudent:2.0 - Arrêter le conteneur
docker stop ohpprocessim - Redémarrer le conteneur
docker start ohpprocessim
Un point sur Docker
Docker est un système de virtualisation légère. Une machine virtuelle classique démarre un système d'exploitation de manière complètement indépendante du système hôte. Docker, quant à lui, n'est pas complètement séparé du système hôte, il utilise du système tout ce dont il a besoin et ne rajoute que la différence entre le système hôte et ce qui est requis par le conteneur.
Docker fonctionne avec des images. Ces images sont trouvables sur docker hub. À partir de ces images, on construit des conteneurs. Ce sont ces conteneurs qui "se comportent comme des machines virtuelles".
Note : Il est tout a fait possible de construire plusieurs conteneurs à partir d'une même image. Les images sont en fait des modèles.
Installation de docker
Docker fonctionne sur tous les systèmes d'exploitation (Mac OS X, Windows et Linux), référez- vous à la documentation en lignes de docker concernant votre système d'exploitation.
Récupération de l'image docker
Vous pouvez récupérer l'image qui a été préparée grâce à la commande docker pull chottier/ohpstudent:2.0
cela téléchargera la version 2.0 de l'image. D'autres versions pourront éventuellement être
livrées, pour les récupérer il suffira de changer le tag dans la commande précédente.
On pourra vérifier que l'image est correctement téléchargée avec la commande docker images
$> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
chottier/ohpstudent 2.0 af8517064048 43 hours ago 6.25GB
Note : Docker utilise des fichiers incrémentaux ainsi lors de la récupération de nouvelles images, seule la différence avec les versions antérieures est téléchargée.
Création de votre conteneur et utilisation
L'utilisation de docker vous permet de partager des répertoires (des dossiers) du système hôte avec le
conteneur. Vous devrez donc créer un répertoire (qui pourra en contenir d'autre) dans lequel vous stockerez les images et les
spectres que vous acquerrez ainsi que l'ensemble des résultats de vos analyses scientifiques.
Dans la suite de ce document, on désignera ce répertoire par /repertoire/travail/ohp
Note : On utilise ici la nomenclature UNIX de séparation de fichier avec des /.
Initialisation et lancement
Une fois que l'image est obtenue, vous pouvez créer votre conteneur avec la commande (barbare ?) suivante
docker run -d -p 8910:8888 -v /repertoire/travail/ohp:/home/ohpstudent/work --name ohpprocessim chottier/ohpstudent:2.0.
Décomposons la commande :
docker runsignifie que vous souhaitez initialiser un conteneur et le lancer.-dpour le mode détacher, le conteneur fonctionnera en arrière plan.-p 8910:8888permet de connecter le port 8910 de votre machine (la machine hôte) au port 8888 du conteneur. Vous êtes libre de choisir le port de votre machine (prenez toujours un nombre plus grand que 8000 !!!). Le port 8888 est obligatoire pour le conteneur.-v /repertoire/travail/ohp:/home/ohpstudent/workpermet de lié le répertoire de votre machine au répertoire du conteneur--name ohpprocessimle nom du conteneur que vous créez et que vous réutiliserezchottier/ohpstudent:2.0le nom de l'image que vous utilisez pour créer votre conteneur
Une fois la commande exécutée, docker vous renvoie un identifiant signifiant que le conteneur s'est convenablement lancé :
$> docker run -d -p 8910:8888 -v /repertoire/travail/ohp:/home/ohpstudent/work --name ohpprocessim chottier/ohpstudent:2.0
2181ab073aa345727da7078db5b0f83a6fe72f759e73888eea00f1637e3f2542
Vous pouvez vérifier que votre conteneur est fonctionnel grâce à la commande docker ps -a
qui liste tous les conteneurs disponibles et leurs statuts.
$> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2181ab073aa3 chottier/ohpstudent:2.0 "jupyter-notebook" 3 minutes ago Up 3 minutes 0.0.0.0:8910->8888/tcp ohpprocessim
On y constate que notre conteneur est actif (STATUS : Up), et qu'il est bien branché sur le
port 8910 (PORTS 0.0.0.0:8910->8888/tcp).
Utilisation du conteneur et de ses logiciels
Une fois le conteneur actif, entrer localhost:8910 dans la barre d'url de votre navigateur (Firefox, Chrome, Safari...),
un jupiter notebook s'ouvre. Le répertoire work est celui connecter à
/repertoire/travail/ohp.
Dès lors vous pouvez utiliser le Jupyter-notebook comme à l'accoutumé. Y compris ouvrir un terminal pour avoir accès au logiciels d'astromatic :
- sextractor
- scamp
- swarp
- psfex
- stiff
Vous aurez aussi accès au logiciel solve-field d'astrometry.net.
arrêt et redémarrage
Pour arrêter le conteneur, on invoque docker stop ohpprocessim. On peut vérifier sont statuts
avec
$> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2181ab073aa3 chottier/ohpstudent:2.0 "jupyter-notebook" 3 minutes ago Exited (0) 3 seconds ago ohpprocessim
Pour redémarrer le conteneur docker start ohpprocessim car le conteneur existe déjà.
Gestion des images et des conteneurs
Pour supprimer une image utiliser docker rmi nomImage. Cette opération sera empêchée si cette
image a été utilisée pour créer un conteneur.
Pour supprimer un conteneur docker rm nomDuConteneur. Attention tout les fichiers du conteneur
qui ne sont pas partager sur le disque de l'hôte (/repertoire/travail/ohp dans notre cas)
serons perdus.
List des commandes
- Télécharger l'image
docker pull chottier/ohpstudent:2.0 - Créer le conteneur et le démarrer
docker run -d -p 8910:8888 -v /repertoire/travail/ohp:/home/ohpstudent/work --name ohpprocessim chottier/ohpstudent:2.0 - Arrêter le conteneur
docker stop ohpprocessim - Redémarrer le conteneur
docker start ohpprocessim - Statuts des conteneurs
docker ps -a - Listes des images disponibles
docker images - Supprimer un conteneur
docker rm ohpprocessim - Supprimer une image
docker rmi chottier/ohpstudent
Release files for ohppipeline 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ohppipeline-2.0.1.tar.gz | 9.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ohppipeline-2.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.7 kB
Release files / ohppipeline-2.0.1.tar.gz
| Download URL | ohppipeline-2.0.1.tar.gz |
|---|---|
| Size | 9.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
968ef5dc045902a28e70869da1d66cc7d3cdf6f83232b4eed766dac6de81ef21
|
|
BLAKE2b-256 checksum How to use checksums |
d40b77acc50cb500330814266affaa7d630f1abba41381699b68ca60e450118a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / ohppipeline-2.0.1-py3-none-any.whl
| Download URL | ohppipeline-2.0.1-py3-none-any.whl |
|---|---|
| Size | 11.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
491b4c9c8d32e1ab5d8e38567964e6a2ed14abcc15dee7ea920c46b2157a4980
|
|
BLAKE2b-256 checksum How to use checksums |
bb00d1ac3c07b8026463854f781342d9caae1699a68c5890b5503b83b244a769
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|