Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Exécution de Votre Image Personnalisée | Travail Avec les Images Docker
Docker Essentials

bookExécution de Votre Image Personnalisée

Exécution d’un conteneur à partir de votre image personnalisée

Pour exécuter un conteneur à partir de votre propre image personnalisée, utiliser la commande docker run. Il est nécessaire d’indiquer le nom de l’image et, en option, de fournir un nom pour le conteneur en cours d’exécution.

Si une image nommée myapp:latest a été construite, démarrer un conteneur avec :

docker run myapp:latest

L’ajout de l’option --name permet d’attribuer un nom explicite au conteneur, facilitant ainsi sa gestion :

docker run --name my-running-app myapp:latest

Il est également possible d’exécuter le conteneur en arrière-plan (mode détaché) en ajoutant l’option -d :

docker run -d --name my-running-app myapp:latest

Options principales pour docker run :

  • Utiliser --name pour attribuer un nom personnalisé au conteneur ;
  • Utiliser -d pour exécuter le conteneur en mode détaché ;
  • Spécifier l’image et le tag sous la forme image:tag (par exemple myapp:latest).

L’exécution des conteneurs avec des noms explicites et dans le mode approprié facilite leur gestion et leur supervision.

Exposition des ports et montage de volumes lors de l’exécution de conteneurs

Lors de l’exécution de conteneurs, il est souvent nécessaire d’exposer des ports et de monter des volumes pour interagir avec l’application et conserver les données.

L’exposition des ports s’effectue avec l’option -p, qui associe un port de l’hôte à un port du conteneur :

  • Utiliser -p <host_port>:<container_port> pour associer les ports ;
  • Accéder aux applications exécutées dans le conteneur depuis l’hôte ;
  • Exécuter plusieurs conteneurs sur différents ports de l’hôte.

Par exemple, pour accéder à une application web fonctionnant sur le port 80 dans le conteneur via le port 8080 de l’hôte :

docker run -p 8080:80 myapp:latest

Le montage d’un volume permet de partager des fichiers entre l’hôte et le conteneur. Utiliser l’option -v pour spécifier les répertoires source et cible :

  • Utiliser -v /host/path:/container/path pour monter des répertoires ;
  • Conserver les données générées par le conteneur ;
  • Partager des fichiers de configuration ou du code entre l’hôte et le conteneur.

Exemple de commande :

docker run -v /host/path:/container/path myapp:latest

Combinaison des options : Il est possible d’exécuter un conteneur nommé, exposant des ports et montant un volume :

docker run -d --name my-running-app -p 8080:80 -v /host/data:/app/data myapp:latest

Cette approche permet de gérer la communication de l’application et l’emplacement de stockage des données, offrant ainsi une flexibilité adaptée aux déploiements en production.

Dépannage des problèmes courants lors du démarrage de conteneurs personnalisés

Si un conteneur personnalisé ne démarre pas ou présente un comportement inattendu, suivre ces étapes pour diagnostiquer et résoudre les problèmes :

  • Consulter les journaux du conteneur avec la commande suivante :
  docker logs <container-name>
  • Vérifier que l’image a bien été construite et que les instructions CMD ou ENTRYPOINT dans le Dockerfile sont correctes ;
  • S’assurer que les ports requis ne sont pas déjà utilisés sur l’hôte ;
  • En cas de montage de volumes, vérifier que le répertoire source existe et dispose des autorisations appropriées ;
  • Exécuter le conteneur en mode interactif pour le débogage en ajoutant l’option -it et en surchargeant la commande :
  docker run -it myapp:latest /bin/sh

Cela permet d’inspecter l’environnement du conteneur et de résoudre les problèmes directement.

question mark

Quel est le but de l'option --name dans la commande docker run ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 4

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

How do I check if my container is running correctly?

What should I do if my container fails to start?

Can you explain how to debug a container interactively?

Awesome!

Completion rate improved to 7.14

bookExécution de Votre Image Personnalisée

Glissez pour afficher le menu

Exécution d’un conteneur à partir de votre image personnalisée

Pour exécuter un conteneur à partir de votre propre image personnalisée, utiliser la commande docker run. Il est nécessaire d’indiquer le nom de l’image et, en option, de fournir un nom pour le conteneur en cours d’exécution.

Si une image nommée myapp:latest a été construite, démarrer un conteneur avec :

docker run myapp:latest

L’ajout de l’option --name permet d’attribuer un nom explicite au conteneur, facilitant ainsi sa gestion :

docker run --name my-running-app myapp:latest

Il est également possible d’exécuter le conteneur en arrière-plan (mode détaché) en ajoutant l’option -d :

docker run -d --name my-running-app myapp:latest

Options principales pour docker run :

  • Utiliser --name pour attribuer un nom personnalisé au conteneur ;
  • Utiliser -d pour exécuter le conteneur en mode détaché ;
  • Spécifier l’image et le tag sous la forme image:tag (par exemple myapp:latest).

L’exécution des conteneurs avec des noms explicites et dans le mode approprié facilite leur gestion et leur supervision.

Exposition des ports et montage de volumes lors de l’exécution de conteneurs

Lors de l’exécution de conteneurs, il est souvent nécessaire d’exposer des ports et de monter des volumes pour interagir avec l’application et conserver les données.

L’exposition des ports s’effectue avec l’option -p, qui associe un port de l’hôte à un port du conteneur :

  • Utiliser -p <host_port>:<container_port> pour associer les ports ;
  • Accéder aux applications exécutées dans le conteneur depuis l’hôte ;
  • Exécuter plusieurs conteneurs sur différents ports de l’hôte.

Par exemple, pour accéder à une application web fonctionnant sur le port 80 dans le conteneur via le port 8080 de l’hôte :

docker run -p 8080:80 myapp:latest

Le montage d’un volume permet de partager des fichiers entre l’hôte et le conteneur. Utiliser l’option -v pour spécifier les répertoires source et cible :

  • Utiliser -v /host/path:/container/path pour monter des répertoires ;
  • Conserver les données générées par le conteneur ;
  • Partager des fichiers de configuration ou du code entre l’hôte et le conteneur.

Exemple de commande :

docker run -v /host/path:/container/path myapp:latest

Combinaison des options : Il est possible d’exécuter un conteneur nommé, exposant des ports et montant un volume :

docker run -d --name my-running-app -p 8080:80 -v /host/data:/app/data myapp:latest

Cette approche permet de gérer la communication de l’application et l’emplacement de stockage des données, offrant ainsi une flexibilité adaptée aux déploiements en production.

Dépannage des problèmes courants lors du démarrage de conteneurs personnalisés

Si un conteneur personnalisé ne démarre pas ou présente un comportement inattendu, suivre ces étapes pour diagnostiquer et résoudre les problèmes :

  • Consulter les journaux du conteneur avec la commande suivante :
  docker logs <container-name>
  • Vérifier que l’image a bien été construite et que les instructions CMD ou ENTRYPOINT dans le Dockerfile sont correctes ;
  • S’assurer que les ports requis ne sont pas déjà utilisés sur l’hôte ;
  • En cas de montage de volumes, vérifier que le répertoire source existe et dispose des autorisations appropriées ;
  • Exécuter le conteneur en mode interactif pour le débogage en ajoutant l’option -it et en surchargeant la commande :
  docker run -it myapp:latest /bin/sh

Cela permet d’inspecter l’environnement du conteneur et de résoudre les problèmes directement.

question mark

Quel est le but de l'option --name dans la commande docker run ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 4
some-alt