Каково явное поведение перезапуска Docker? - PullRequest
1 голос
/ 11 июля 2019

В докере просто сказано, что эта команда "перезапустит один или несколько контейнеров". Но это не достаточно ясно для меня.

Это эффективно;

if (container.isRunning) {
   docker stop container
   docker start container
} else {
   docker start container
}

т. если контейнер не запущен, он будет docker start 'ed, и если это так, он будет остановлен, а затем снова запущен?

1 Ответ

4 голосов
/ 11 июля 2019

По сути, да, с некоторыми дополнительными соображениями по поводу взаимодействия между различными функциями, например, чтобы избежать удаления контейнера, запущенного с AutoRemove --rm (обычно они автоматически удаляются при остановке, но не должны быть при перезапуске)

Смотрите реализацию здесь: https://github.com/moby/moby/blob/de7172b600d5fbdf6d8861116bf5491d17d609be/daemon/restart.go#L37

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...