Рейтинг:2

Установка Docker не удалась из-за того, что docker.service пытается запуститься до docker.socket

флаг br

Я пытаюсь установить докер на машину через:

apt-get --allow-downgrades -yq install docker-ce=18.06.3*

Это вызывает ошибку во время сценария после установки:

✓ docker.service — механизм контейнера приложений Docker.
   Загружено: загружено (/lib/systemd/system/docker.service; включено; предустановка поставщика: включена)
   Активно: активация (автоматический перезапуск) (Результат: код выхода) с четверга 2021-09-02 18:17:18 EDT; 3 мс назад
     Документы: https://docs.docker.com
  Процесс: 17110 ExecStart=/usr/bin/dockerd -H fd:// (code=exited, status=1/FAILURE)
 Основной PID: 17110 (код=выход, статус=1/ОШИБКА)
dpkg: ошибка обработки пакета docker-ce (--configure):
 установленный подпроцесс сценария после установки пакета docker-ce вернул статус ошибки 1
Обработка триггеров для systemd (237-3ubuntu10.51)...
Обработка триггеров для man-db (2.8.3-2ubuntu0.1)...
Обработка триггеров для ureadahead (0.100.0-21)...
При обработке возникли ошибки:
 докер-се

Глядя в журналctl -xe:

-- Модуль docker.service начал запускаться.
02 сентября, 16:44:20 office64-001 dockerd[20320]: не удалось загрузить прослушиватели: сокеты не найдены с помощью активации сокетов: убедитесь, что служба была запущена systemd
02 сентября, 16:44:20 office64-001 systemd[1]: docker.service: основной процесс завершен, код = завершен, статус = 1/FAILURE
02 сентября, 16:44:20 office64-001 systemd[1]: docker.service: Ошибка с результатом «код выхода».
02 сентября, 16:44:20 office64-001 systemd[1]: не удалось запустить Docker Application Container Engine.

Ошибка выше происходит в 16:44:20. Затем, глядя на вывод journalctl -u docker.socket:

02 сентября, 16:44:21 office64-001 systemd[1]: запуск сокета Docker для API.
02 сентября, 16:44:21 office64-001 systemd[1]: прослушивание сокета Docker для API.

Сокет становится активным через секунду после ошибки, описанной выше.

После этого Docker пытается перезапуститься и завершается успешно, так как сокет успел стать активным. Однако я так понимаю, что docker.service должен дождаться готовности docker.socket. Из докера.сервис:

[Ед. изм]
Description=Docker Application Container Engine
Документация = https://docs.docker.com
After=network-online.target docker.socket firewalld.service
Хочет=network-online.target
Требуется = docker.socket

Моя проблема в том, что у меня есть сценарий, который дает сбой всякий раз, когда происходит сбой установки, поэтому, даже если кажется, что докер установлен правильно, он вызывает проблемы во время установки, которые не позволяют сценарию работать должным образом.

Любые идеи?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.