Aller au contenu

Interagir avec un conteneur Docker

Lorsque vous travaillez avec des conteneurs Docker, il est souvent nécessaire d’y accéder, d’exécuter des commandes ou de transférer des fichiers. Voici les principales commandes pour interagir efficacement avec vos conteneurs.

💡 Astuce#

Pour obtenir l’ID ou le nom exact de vos conteneurs en cours d’exécution :

docker ps

🔍 Accéder à un conteneur en ligne de commande#

Vous pouvez ouvrir un terminal interactif à l'intérieur d'un conteneur (comme une session SSH) :

docker exec -it <nom_du_conteneur> bash

Par exemple :

docker exec -it jupyterhub bash

Cette commande ouvre un shell (bash) dans le conteneur, vous permettant de naviguer dans les fichiers, d’installer des packages, etc.

⚙️ Exécuter une commande sans ouvrir de session#

Vous pouvez également exécuter une commande directement dans le conteneur, sans y entrer :

docker exec -it <nom_du_conteneur> <commande>

Exemple :

docker exec -it jupyterhub pip install --upgrade panel watchfiles

Pour exécuter en tant que superutilisateur (root), ajoutez l’option --user root ou -u root :

docker exec -it --user root jupyterhub pip install --upgrade panel watchfiles

📁 Copier des fichiers depuis ou vers un conteneur#

Docker permet également de copier des fichiers entre l'hôte et le conteneur :

  • Depuis l’hôte vers le conteneur :

    docker cp workspace jupyterhub:/home/
    

  • Depuis le conteneur vers l’hôte :

    docker cp jupyterhub:/home/jovyan/notebooks ./notebooks-backup
    

Consulter les journaux d’un conteneur#

Pour diagnostiquer une erreur ou observer le comportement d’un conteneur :

docker logs <nom_du_conteneur>

Exemple :

docker logs jupyterhub

Surveiller l'utilisation des ressources#

Pour surveiller l’utilisation CPU, mémoire, réseau, etc. des conteneurs en temps réel :

docker stats

Cela affiche un tableau interactif semblable à htop mais pour vos conteneurs Docker.


Maîtriser l'interaction avec un conteneur Docker est une compétence essentielle pour tout Data Scientist ou ingénieur MLOps. Ces commandes vous permettent d'inspecter, modifier et contrôler l’environnement de vos applications, sans avoir à reconstruire vos conteneurs à chaque étape. Dans les prochaines sections, nous verrons comment monitorer et déboguer efficacement vos services Docker.

Partagez sur les réseaux sociaux

Commentaires