Recherche de site Web

Comment démarrer un conteneur Docker en tant que processus de démon


L’exécution de conteneurs Docker en arrière-plan est essentielle lors du déploiement d’applications qui doivent fonctionner en continu sans se lier directement à la session du terminal. Ce tutoriel explique comment démarrer et gérer des conteneurs Docker en mode démon, ce qui leur permet de s’exécuter en tant que processus d’arrière-plan.

Dans ce tutoriel, vous allez apprendre :

  • Comment démarrer un conteneur Docker en arrière-plan à l’aide du mode démon
  • Méthodes pour maintenir un conteneur Docker en cours d’exécution indéfiniment

Exécution de conteneurs Docker en mode démon

Le démarrage d’un conteneur Docker en mode démon est une pratique simple et essentielle pour déployer des services qui nécessitent un fonctionnement ininterrompu, tels que des serveurs web ou des bases de données. Ce mode permet au conteneur de s’exécuter en arrière-plan, indépendamment du terminal initiateur, ce qui est essentiel pour garantir que ces services sont toujours disponibles et ne sont pas interrompus à la fin de la session utilisateur. Cette capacité est particulièrement cruciale dans les environnements de production où la disponibilité et la fiabilité du service continu sont primordiales.

AMÉLIORATION DES CONTENEURS DE DÉMON DOCKER AVEC DES REDÉMARRAGES AUTOMATIQUES
Pour améliorer la gestion des conteneurs Docker s’exécutant en tant que démons, les utilisateurs peuvent utiliser l’indicateur --restart en conjonction avec l’option -d. Cet indicateur permet le redémarrage automatique du conteneur en cas de défaillance ou lors du redémarrage du système, en fonction de la stratégie spécifiée, telle que toujours, à moins qu’arrêté ou en cas d’échec. Par exemple, l’utilisation de docker run -d --restart=always [image] garantit que le conteneur tentera continuellement de redémarrer, améliorant ainsi la résilience et le temps de fonctionnement des services d’arrière-plan critiques.

  1. Démarrage d’un conteneur de base en mode démon : voici comment démarrer un conteneur Docker de base en mode démon en utilisant l’image NGINX comme exemple.

    docker run -d -p 80:80 nginx

    Cette commande démarre un conteneur NGINX et l’exécute en arrière-plan. L’indicateur -d est utilisé pour exécuter le conteneur en mode détaché, ce qui signifie qu’il fonctionne indépendamment de la session de terminal qui l’a démarré. L’option -p 80:80 mappe le port 80 du conteneur au port 80 de l’hôte, ce qui permet au trafic HTTP d’atteindre le serveur NGINX. Toutefois, il est important de noter que l’option -d ne maintient le conteneur en cours d’exécution que si le processus principal à l’intérieur du conteneur reste actif. Dans les cas où le processus principal se termine immédiatement (par exemple, dans les images de système d’exploitation de base comme CentOS sans commande spécifiée), le conteneur s’arrêtera également, bien qu’il ait été démarré avec -d.

  2. Maintien d’un conteneur en fonctionnement indéfini : pour empêcher un conteneur de se fermer immédiatement lorsque l’option « -d » ne le maintient pas en raison de l’absence d’un processus de premier plan, utilisez une commande de bouclage. Par exemple, avec l’image CentOS :

    docker run -d --name centos-linux centos /bin/bash -c 'while true; do sleep 30; done'

    Cette commande initialise un script Bash qui exécute en continu une commande de mise en veille dans une boucle infinie toutes les 30 secondes. Cette méthode est particulièrement utile pour s’assurer que les conteneurs, qui sortiraient autrement immédiatement après le démarrage, restent opérationnels indéfiniment. Il s’agit d’une solution de contournement efficace lorsque les conteneurs n’ont pas de processus ou de commande inhérent à longue durée à exécuter.

Conclusion

Dans ce tutoriel, nous avons vu comment exécuter des conteneurs Docker en tant que processus d’arrière-plan à l’aide du mode démon. Cela permet aux applications et aux services de rester actifs sans interrompre une session de terminal. En comprenant ces techniques, vous pouvez mieux gérer vos environnements Docker et vous assurer que vos services sont disponibles de manière fiable.

Articles connexes: