Докер позволяет легко останавливать и перезапускать контейнеры. Он также имеет возможность приостанавливать и затем останавливать контейнеры. Докеры docs заявляют
Когда контейнер выйдет, состояние файловой системы и ее значение выхода сохраняются. Вы можете запускать, останавливать и перезапускать контейнер. Процессы перезапускаются с нуля (их состояние памяти не сохраняется в контейнере), но файловая система так же, как и когда контейнер был остановлен.
Я проверил это, установив контейнер с запуском memcached, написал значение memcache и затем
- Остановлен, а затем перезапущен контейнер - значение memcached прошло.
- Приостановлено, а затем приостановлено действие контейнера - значение memcached все еще не установлено
Где-то в документах - я больше не могу найти точный документ - я читал, что остановленные контейнеры не потребляют процессор или память. Однако:
- Я полагаю, что факт сохранения состояния файловой системы означает, что контейнер все еще занимает некоторое пространство в файловой системе хоста?
- Есть ли поражение производительности (кроме потребления дискового пространства на хосте), связанное с наличием 10 или 100 столов остановленных контейнеров в системе? Например, затрудняет ли Docker запуск и управление новыми контейнерами?
- И, наконец, если Paused контейнеры сохраняют свое состояние памяти, когда Unpaused - как продемонстрировано их способностью запоминать memcached ключи - оказывают ли они различное влияние на процессор и память?
Я был бы наиболее обязан всем, кто мог бы прояснить эти проблемы.