1 votes

Ne démarrez pas le service systemctl, comme Docker, à moins qu'un fichier de contrôle ne soit présent.

Je veux configurer Docker de telle sorte que, au démarrage, il ne démarre pas automatiquement les conteneurs.

J'ai lu qu'il est possible de désactiver le service avec systemctl, ce qui nécessiterait de l'activer manuellement au prochain démarrage.

Cela dit, je préférerais pouvoir configurer le service systemd pour Docker afin qu'il attende la présence d'un certain fichier, à un certain emplacement.

Dès que le fichier apparaît, il peut démarrer. Et ensuite je le supprime à nouveau. Cela signifie ne pas avoir à désactiver le service à chaque fois et potentiellement entrer la mauvaise commande et l'arrêter à nouveau.

J'ai cherché sur Google, mais je ne le trouve pas.

Des choses comme Wants= et Required= dans le fichier Unit semblent n'accepter que d'autres services et non des emplacements de fichiers.

Comment cela pourrait-il être fait?

0 votes

La solution la plus élégante dépend de la nature de ce fichier - Essayez-vous de retarder le démarrage de Docker jusqu'à ce qu'un certain point de montage soit configuré? Un socket Unix? Un fichier PID qui nécessite encore un fichier d'unité approprié pour être reconnu?

2voto

Michael Hampton Points 232226

Vous pouvez ajouter une unité de chemin pour surveiller un chemin du système de fichiers et démarrer le service correspondant. Vous pouvez créer une unité docker.path pour activer une unité docker.service correspondante. Cela pourrait ressembler à ceci :

[Unit]
Description=Démarrer Docker lorsque mon fichier existe

[Path]
PathExists=/mon/chemin

[Install]
WantedBy=multi-user.target

0 votes

Je me suis finalement donné la peine d'essayer cela et cela ne fonctionne pas. J'ai mis la condition sur un fichier simple dans mon répertoire personnel. Le fichier n'existe pas. J'ai activé et lancé le fichier .path. J'ai redémarré et Docker a simplement démarré normalement, malgré le fait que le fichier n'existe pas.

0 votes

ConditionPathExists= dans le fichier de service ne semble pas fonctionner.

0 votes

@KdgDev Le service continuera de démarrer si vous l'avez laissé activé.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X