• Почему dockerd запрашивает root-права, когда они уже имеются?

    @ifgeny87
    Приветствую!

    Краткий ответ
    Нельзя запустить докер внутри докер-контейнера.
    Goormide запускается внутри докер-контейнера. А система безопасности Docker не позволит Вам запустить докер внутри докера.

    Дальше приведу экспертизу
    Для начала попробуем запустить сервис Docker вручную и посмотреть на наличие ошибок:
    > sudo dockerd

    В моем случае я получаю такой результат:
    INFO[2023-07-25T03:39:25.466513684Z] stopping event stream following graceful shutdown error="context canceled" module=libcontainerd namespace=plugins.moby
    failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N DOCKER: iptables v1.6.1: can't initialize iptables table `nat': Permission denied (you must be root)
    Perhaps iptables or your kernel needs to be upgraded.


    Эта ошибка информирует нас о том, что NAT не поддерживается операционной системой, в которой мы пытаемся запустить Docker.
    Дальше можем попробовать узнать статус сервиса docker:
    > systemctl status docker
    System has not been booted with systemd as init system (PID 1). Can't operate.

    Похоже на то, что пользователь systemd не поддерживается операционной системой, которую поднимает goorm.

    Проверим, какой процесс занимает pid 1:
    > ps -p 1 -o comm=
    sshd

    Делаем вывод, что ОС не поддерживает systemd и NAT.

    Означает ли это, что Docker не будет запускаться? Не знаю, дальше уже не копался.
    Ответ написан
    Комментировать