У меня есть машина Ubuntu с установленным Docker.(Версия Ubuntu — 20.04, но это также влияет на 18.04 и, возможно, на версии, отличные от LTS.) докер.ио
пакет до текущей версии от фокальная безопасность
терпит неудачу:
Подготовка к распаковке .../docker.io_20.10.7-0ubuntu1~20.04.1_amd64.deb ...
Драйвер хранилища aufs больше не поддерживается.
Убедитесь, что ни один из ваших контейнеров не
с помощью драйвера хранилища aufs удалите каталог
/var/lib/docker/aufs и повторите попытку.
dpkg: ошибка обработки архива /var/cache/apt/archives/docker.io_20.10.7-0ubuntu1~20.04.1_amd64.deb (--unpack):
новый подпроцесс сценария предварительной установки пакета docker.io вернул статус выхода ошибки 1
dpkg: ошибка при очистке:
установленный подпроцесс сценария после установки пакета docker.io вернул статус ошибки 1
Это известная ошибка, но ошибка была помечена как «не исправимая» на основании Политика упаковки Ubuntu Docker.
Цитирование нескольких человек здесь:
Это критическое изменение для обновления, которое не должно произойти в версии LTS.
Обновление, требующее такого большого ручного вмешательства, никогда не должно происходить в выпуске LTS.
Вы правы насчет этого в общем случае. К сожалению, Docker является исключением. ( ¦ )
Таким образом, в качестве исключения для Docker, мы обновляемся до более новых выпусков основной ветки, не заботясь об обратной совместимости поведения самого Docker, вместо этого полностью полагаясь на решения основной ветки разработки. В данном случае, основываясь исключительно на анализе, уже представленном здесь другими, это означает, что мы не ожидаем, что будем самостоятельно исправлять драйвер хранилища aufs в нашу упаковку. ( ¦ )
Следуя политике в ее нынешнем виде, мы не собираемся исправлять эту ошибку, поэтому я помечаю, что эта ошибка не будет исправлена.
Я нахожу это рассуждение сбивающим с толку: если я использую стабильный дистрибутив, я ожидаю, что обновления будут плавными, и я не ожидаю, что у меня будут последние версии программ. Если мне нужен скользящий выпуск, я знаю, где его найти, и он не будет называться LTS.Но это не место для обсуждения.
Мой вопрос здесь, что мне делать дальше? Как мне «убедиться, что ни один из [моих] контейнеров не использует драйвер хранилища aufs»? Хранить старую, неподдерживаемую версию Docker не стоит. Мне нужны обновления безопасности.
Ни один из моих контейнеров не использует расширенные функции, которые зависели бы от драйвера хранилища. Я полностью доволен обновлением или миграцией своих контейнеров. Как мне это сделать?