Как запустить Docker в chroot на Android

Вопрос или проблема

У меня установлен debian stretch на телефоне с android arm64 в среде chroot. Я установил docker-ce, следуя этим шагам здесь.

При запуске docker :: systemctl start docker

возвращает эту ошибку :: Работает в chroot, игнорируя запрос.

Проверка с помощью service docker status показывает [FAIL] Docker не запущен ... ошибка!

Как я могу запустить его внутри chroot на моем телефоне с android?

Попробуйте запустить демон вручную с помощью dockerd (вместо использования systemctl).

Ответ или решение

Как запустить Docker внутри chroot на Android-устройстве

Запуск Docker внутри chroot-среды, такой как Debian Stretch на вашем Android-устройстве, представляет собой挑战, учитывая ограничения платформы и особенности работы Docker. В данном ответе мы рассмотрим, как успешно запустить Docker на вашем Android-устройстве в chroot-окружении.

Проблема

Вы столкнулись с ошибкой при попытке запустить Docker с помощью команды systemctl start docker, которая возвращает сообщение: Running in chroot, ignoring request. Это происходит потому, что systemctl не может управлять службами в среде chroot. При этом команда service docker status выдает сообщение [FAIL] Docker is not running ... failed!, что означает, что служба Docker не может быть запущена стандартным способом.

Решение

Для запуска Docker в chroot необходимо использовать dockerd напрямую, так как управление службами с помощью systemctl будет недоступно в чroot-среде. Следуйте приведенной ниже инструкции:

  1. Подготовка окружения

    Убедитесь, что у вас есть все необходимые зависимости для работы Docker в chroot. Проверьте наличие следующих пакетов:

    apt update
    apt install -y apt-transport-https ca-certificates curl software-properties-common
  2. Запуск docker daemon вручную

    Вместо использования systemctl, вы можете запустить Docker daemon (dockerd) напрямую. Для этого выполните следующую команду:

    dockerd --host=unix:///var/run/docker.sock

    Это запустит Docker в фоновом режиме и начнет слушать на стандартном сокете Docker.

  3. Настройка прав доступа

    Убедитесь, что у вас есть необходимые права доступа для работы с Docker. Вам может потребоваться запускать команды Docker с правами superuser:

    sudo docker run hello-world
  4. Проверка работы Docker

    Чтобы убедиться, что Docker работает корректно, выполните следующую команду:

    docker info

    Если все работает правильно, вы увидите информацию о текущей конфигурации Docker.

Заключение

Запуск Docker в chroot на Android-устройстве требует некоторых дополнительных шагов по сравнению с традиционными Linux-системами. Использование dockerd напрямую вместо systemctl обеспечивает гибкость и позволяет избежать проблем, связанных с ограничениями среды chroot. Следуя указаниям выше, вы сможете успешно запустить Docker и использовать все его возможности на вашем устройстве.

Если у вас возникнут дополнительные вопросы или потребуется помощь, не стесняйтесь обращаться за поддержкой.

Оцените материал
Добавить комментарий

Капча загружается...