Как удалить сообщение CLI Docker «Не удается подключиться к демону Docker ...» в MacOS? - PullRequest
0 голосов
/ 26 февраля 2019

Описание проблемы: Каждый раз, когда я запускаю любой CLI на моем Mac, в нем несколько раз появляется сообщение: "Невозможно подключиться к демону Docker в unix: /// var / run /docker.sock. Работает ли демон docker? "

Это сообщение появляется только в том случае, если приложение Docker не работает.Программное обеспечение Docker в основном работает на моем компьютере, поэтому нет необходимости его исправлять: когда я запускаю приложение Docker вручную, сообщение не отображается;как и ожидалось.


Желаемое решение: Я просто хочу избавиться от сообщения.Есть ли способ исправить или подавить это;как удалить его из файла или папки автозапуска?

Почему?- Я предпочитаю запускать Docker вручную, когда мне это нужно;для экономии системных ресурсов и уменьшения расхода батареи.


Моя настройка:

  • Docker Desktop: 2.0.0.3 (31259) - Стабильный
  • Docker Engine: 18.09.2
  • ОС: MacOS Mojave, 10.14.3

Протестированные CLI:

  • MacOS Terminal 2.9.1
  • iTerm2 3.2.7
  • Hyper 2.1.2
  • (PhpStorm IDE 2018.3.4)

Предыдущее исследование:

  • Я обнаружил, что файл 'docker.sock' существует в пути "Macintosh HD / private / var / run/docker.sock".Я не уверен, что это хорошая идея, но ее удаление не помогло.После этого Docker все еще работает, если запущен вручную.
  • Все другие решения, которые я нашел до сих пор, предназначены для других проблем - более сложные установки, такие как вложенные контейнеры;Сам Docker не работает или возникают проблемы с дополнительным программным обеспечением.Это не относится к моей проблеме.

Docker issue in CLI

1 Ответ

0 голосов
/ 19 марта 2019

Проблема

Я нашел решение и существуют различные возможные проблемы.

Файл .bash_aliases в папке User содержит псевдонимы для команд Docker.Они читаются и запускаются (?) Каждый раз, когда запускается CLI.

В следующих случаях появляются ошибки:

  1. Docker не установлен (очевидно)
  2. Docker вообще не запускается
  3. Докер запускается (но еще не завершен)
  4. Докер выключается (но еще не завершен)

Это приводит к следующим сообщениям:

  1. «Не удается подключиться к демону Docker в unix: ///var/run/docker.sock. Работает ли демон Docker?»
    • Происходит, когда Docker вообще не запускается.
  2. "Ошибка ответа от демона: Неверный ответ от механизма Docker"
    • Происходит, когда Docker либозапуск или выключение.

Решение

Завершение псевдонимов проверкой с глушением помогло мне в MacOS.Это удалит любое сообщение об ошибке CLI из-за того, что псевдонимы недоступны.

docker_code=$(docker ps &>/dev/null)
docker_status=$?
# echo "Docker status: $docker_status"

if [ "$docker_status" == "0" ]; then
    # OK: Docker has started and is fully running
    alias dcu="docker-compose up"
    alias dcd="docker-compose down"
    alias dcb="docker-compose build"
fi
# else = FAIL: Docker is not available, not running or shutting down

Практическое использование

Это может не иметь смысла для всех, поскольку псевдонимы иногда недоступны.

Решения

  • Добавьте приятное информационное сообщение, информирующее о том, что они были пропущены (вместо приглушения ошибки).
  • Создайте псевдоним, который позволяет перезагрузитьдоступные команды на лету без необходимости закрывать CLI:
    # Reload Bash config
    alias rcfg="source ~/.bashrc"
    

Ресурсы и кредиты

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...