Linux 127Высокая

Ошибка 'docker: command not found' в Linux: причины и способы исправления

Статья объясняет, почему в Linux возникает ошибка 'docker: command not found', и предлагает пошаговые решения: от установки Docker до настройки переменной окружения PATH.

Обновлено 15 февраля 2026 г.
10-15 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 20.04/22.04Debian 10/11CentOS 7/8Fedora 35/36Arch Linux

Что означает ошибка 'docker: command not found'

Ошибка docker: command not found в Linux означает, что командная оболочка (bash, zsh и др.) не может найти исполняемый файл docker в директориях, указанных в переменной окружения PATH.

Полный текст ошибки может выглядеть так:

bash: docker: command not found

или

zsh: command not found: docker

Эта ошибка возникает при попытке запустить любую команду Docker (docker --version, docker ps и т.д.). Код возврата 127 (стандартный для "команда не найдена") подтверждает, что система не обнаружила исполняемый файл docker в путях поиска.

Причины возникновения

  1. Docker не установлен на системе вообще.
  2. Docker установлен, но путь к исполняемому файлу не добавлен в переменную PATH. Это может случиться при ручной установке из бинарного архива или если пакетный менеджер не настроил PATH автоматически.
  3. Сессия терминала не обновлена после установки Docker. Изменения в PATH вступают в силу только после перезагрузки сессии (или выполнения source для файла профиля оболочки).
  4. Попытка запуска Docker через sudo с очищенным окружением (по умолчанию sudo может сбрасывать PATH). В этом случае Docker может быть доступен только с указанием полного пути.
  5. Повреждение установки Docker или удаление исполняемого файла.

Способы решения

Способ 1: Установка Docker

Если Docker не установлен, выполните установку, соответствующую вашему дистрибутиву.

Для Ubuntu/Debian:

sudo apt update
sudo apt install docker.io

Для CentOS/RHEL 7:

sudo yum install docker

Для CentOS/RHEL 8 / Fedora:

sudo dnf install docker

Для Arch Linux:

sudo pacman -S docker

После установки проверьте, что файл docker появился в стандартных путях (обычно /usr/bin/docker).

Способ 2: Добавление пути Docker в переменную PATH

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

  1. Определите расположение docker:
    sudo find / -name docker -type f 2>/dev/null | head -5
    

    Обычно путь — /usr/bin/docker или /usr/local/bin/docker.
  2. Добавьте путь в PATH через файл конфигурации оболочки:
    • Для bash (стандартная оболочка в Ubuntu/Debian/CentOS):
      echo 'export PATH=$PATH:/usr/bin' >> ~/.bashrc
      
      (замените /usr/bin на вашу директорию, если она другая)
    • Для zsh:
      echo 'export PATH=$PATH:/usr/bin' >> ~/.zshrc
      
  3. Примените изменения:
    source ~/.bashrc   # или source ~/.zshrc
    

Способ 3: Перезагрузка сессии

Иногда достаточно просто перезапустить терминал или выйти и заново войти в систему. Это обновит PATH с учетом изменений, внесённых установщиком пакета.

Способ 4: Проверка прав доступа и настройка sudo

Убедитесь, что у вашего пользователя есть права на выполнение файла docker:

ls -l $(which docker)

Если нет прав на выполнение (x), исправьте:

sudo chmod +x $(which docker)

Для использования Docker без sudo добавьте пользователя в группу docker:

sudo usermod -aG docker $USER

⚠️ Важно: После добавления в группу docker необходимо перезайти в систему или перезапустить сессию, чтобы изменения вступили в силу.

Способ 5: Проверка корректности установки

После выполнения предыдущих шагов проверьте работу Docker:

docker --version

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

docker run hello-world

При успешном выполнении вы увидите приветственное сообщение от Docker.

Профилактика

  • При установке через официальные репозитории (apt, dnf, yum, pacman) Docker обычно добавляется в PATH автоматически. После установки перезапустите терминал.
  • При ручной установке (загрузка бинарного архива) всегда добавляйте директорию с исполняемым файлом в PATH вручную.
  • Регулярно обновляйте Docker через пакетный менеджер, чтобы избежать проблем с совместимостью.
  • Используйте группы пользователей (docker) для управления правами, а не запуск через sudo каждый раз.

Часто задаваемые вопросы

Q: Что делать, если which docker не находит команду, но Docker явно установлен?
A: Проверьте, существует ли файл docker в системе (sudo find / -name docker -type f). Если файл есть, но в нестандартной директории (например, /usr/local/bin/docker), добавьте эту директорию в PATH как описано в Способе 2.

Q: Почему после установки Docker через apt команда не работает до перезагрузки?
A: Пакет docker.io добавляет путь в PATH через файл /etc/profile.d/docker.sh, который загружается только при старте новой сессии. Перезапустите терминал или выполните source /etc/profile.d/docker.sh.

Q: Можно ли использовать Docker в cron-задачах?
A: Да, но в cron-задачах PATH обычно ограничен. Указывайте полный путь к docker (например, /usr/bin/docker) или настройте переменную PATH в самом cron-файле.

Q: Почему sudo docker работает, а docker — нет?
A: Это классический признак того, что docker не в PATH вашего пользователя, но установлен глобально. При использовании sudo может загружаться другой конфигурационный файл, где PATH включает системные директории. Решение: добавьте docker в PATH для вашего пользователя (Способ 2).

Часто задаваемые вопросы

Что делать, если Docker установлен, но команда не работает?
Как проверить, установлен ли Docker?
Почему после установки Docker команда не работает?
Можно ли использовать Docker без добавления в PATH?

Полезное

Проверьте, установлен ли Docker
Установите Docker (если отсутствует)
Добавьте путь Docker в PATH
Перезагрузите сессию терминала
Проверьте работоспособность Docker