Mes conteneurs docker sont construits avec docker-compose et je les démarre automatiquement sur mon système CentOS 7 en utilisant des dérivés de l' exemple de documentation ::
[Unit] Description=condb container Requires=docker.service After=docker.service [Service] Restart=always ExecStart=/usr/bin/docker start -a condb ExecStop=/usr/bin/docker stop -t 2 condb [Install] WantedBy=local.target
Tout fonctionne bien, sauf que chaque fois que je veux changer le conteneur, j'arrête les services, lancez docker-compose up
pour créer le conteneur, puis démarrez les services, j'oublie que cela démarre déjà les conteneurs.
Je peux adapter mon script pour stopper les conteneurs après avoir exécuté docker-compose
, mais le démarrage / l'arrêt prend du time et je me request s'il est possible de créer le conteneur sans le démarrer (la command build
ne fait que build, créer-démarrer en fonction de son aide)?
Les sources de docker composent déjà une command create
, mais ce n'est pas encore en 1.5.2, ni documenté sur le site. Vous pouvez bien sûr essayer et installer à partir de la source github et get les dernières fonctionnalités (inédites).
Vous pouvez également essayer de modifier vos files systemd
pour ne pas démarrer les conteneurs individuels avec docker
, mais exécutez docker-compose sur les files YAML:
[Service] Restart=always ExecStart=/opt/util/docker-compose/bin/docker-compose -f /opt/docker/mongo/docker-compose.yml up --no-recreate ExecStop=/opt/util/docker-compose/bin/docker-compose -f /opt/docker/mongo/docker-compose.yml stop
alors vous pouvez simplement arrêter d'utiliser systemctl stop ...
, changer le file docker-compose.yml
, et commencer à utiliser systemctl start ...
Je ne suis pas sûr cependant si le redémarrage correct est fait dans le cas où l'un des conteneurs dans l'installation composer descend.