Нужна помощь, чтобы указать docker клиента на демон docker, работающий на моем ноутбуке - PullRequest
0 голосов
/ 06 апреля 2020

Я запускаю миникуб на своем Macbook. чтобы создать Dockerfile внутри миникуба (ВМ), я указал своему клиенту docker на демон docker minukube, используя следующую команду

eval $ (minikube docker -env)

Мне удалось успешно построить образ на мини-кубе, и я остановил мини-куб, когда моя работа закончена.

Теперь, когда я пытался запустить команду "docker images", я получаю сообщение об ошибке ниже

"Невозможно подключиться к демону Docker в tcp: //:. Является ли docker демон запущен? "

Я был бы очень признателен за помощь в решении этой проблемы.

Примечание. но все еще интересно, есть ли лучший способ без закрытия текущего сеанса терминала

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

Docker для Ma c не использует tcp-соединение с демоном, но подключается через сокет (/var/run/docker.sock); проверьте, не установлена ​​ли в вашей оболочке переменная окружения DOCKER_HOST, которая переопределяет соединение по умолчанию.

Кажется, minikube переопределяет настройки docker по умолчанию, задав эти три переменные

DOCKER_HOST=
DOCKER_TLS_VERIFY=1
DOCKER_CERT_PATH=/some/certs

Пожалуйста, сбросьте их и остановите minikube stop, а затем и docker для ма c начнет работать.

eval "$(docker-machine env -u)"

Это сбросит переменные DOCKER_*.

Для записи: Вот вывод docker-machine env -u:

unset DOCKER_TLS_VERIFY
unset DOCKER_HOST
unset DOCKER_CERT_PATH
unset DOCKER_MACHINE_NAME

Более подробную информацию вы можете найти здесь: docker -ma c, docker -unset .

0 голосов
/ 06 апреля 2020

Если вы посмотрите документацию Minikube по команде docker-env здесь или выполните команду с флагом --help следующим образом:

$ minikube docker-env --help
Sets up docker env variables; similar to '$(docker-machine env)'.

Options:
      --no-proxy=false: Add machine IP to NO_PROXY environment variable
      --shell='': Force environment to be configured for a specified shell: [fish, cmd, powershell, tcsh, bash, zsh],
default is auto-detect
  -u, --unset=false: Unset variables instead of setting them

Usage:
  minikube docker-env [flags] [options]

Use "minikube docker-env options" for a list of global command-line options (applies to all commands).

вы заметите флаг --unset.

Попробуйте запустить:

$ eval $(minikube docker-env --unset)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...