Maison > Questions et réponses > le corps du texte
为了让docker容器一直运行难道要写个死循环的程序?
我想让容器一直运行
天蓬老师2017-04-24 09:11:36
$ docker run -d --name test_sleep_infinity your_image sleep infinity
# enter the container
$ docker exec -it test_sleep_infinity /bin/bash
PHPz2017-04-24 09:11:36
docker run -d .....
Le paramètre -d permet de maintenir Docker en arrière-plan,
天蓬老师2017-04-24 09:11:36
Si votre commande run peut s'exécuter en continu et ne peut pas être arrêtée après avoir été exécutée comme ls, alors ajoutez simplement -d
高洛峰2017-04-24 09:11:36
Si vous souhaitez utiliser -d pour s'exécuter en arrière-plan, vous ne pouvez actuellement utiliser que la commande qui peut s'exécuter en continu, sinon elle s'arrêtera une fois l'opération terminée.
迷茫2017-04-24 09:11:36
Je ne comprends pas particulièrement votre scénario. Je vois que vous avez posé plusieurs questions liées à Docker. Je vais vous donner quelques commandes pour votre référence.
创建启动容器 docker run -itd <image-di> /bin/bash
单纯启动容器 docker start <container-id>
连接容器 docker attach <container-id>
回到宿主机 ctrl+p,ctrl+q
黄舟2017-04-24 09:11:36
Vous pouvez simplement exécuter un programme au premier plan ou utiliser le superviseur pour gérer les programmes en cours d'exécution
PHP中文网2017-04-24 09:11:36
Vous pouvez faire ça
CMD tail -f /var/log/cron.log
Exécutez une tâche de sortie continue dans DockerFile
D'accord, c'est presque une boucle infinie
docker ps -a
Ici, vous pouvez voir l'état d'exécution de Docker, up signifie qu'il continue de fonctionner, exit signifie qu'il se termine une fois qu'il a fini de s'exécuter. perform. Will exit ~ Vous devez donc écrire une commande continue
巴扎黑2017-04-24 09:11:36
Même si -d est ajouté, tant que la commande est terminée, docker pensera qu'il n'a rien à faire, il se fermera donc automatiquement
Pour faire fonctionner le conteneur en arrière-plan, un processus de premier plan est nécessaire
Vous pouvez ajouter top après la commande des processus tels que tail qui s'exécutent toujours au premier plan
黄舟2017-04-24 09:11:36
Laissez-moi partir, tout le monde à l'étage n'a pas compris ce que signifiait l'affiche originale. . . Ce qu'il veut dire, c'est qu'il n'y a pas d'opération continue dans Docker (c'est-à-dire s'exécutant en arrière-plan).
Si vous souhaitez que Docker continue de fonctionner sans quitter, vous pouvez utiliser superviseur