macOS에서 Docker 데몬에 연결할 수 없습니다


204

나는 일반적으로 brew로 OSX에서 내 앱을 관리하는 것을 선호합니다

도커, 도커 작성 및 도커 기계를 설치할 수 있습니다

docker --version
Docker version 17.05.0-ce, build 89658be
docker-compose --version
docker-compose version 1.13.0, build unknown
docker-machine --version
docker-machine version 0.11.0, build 5b27455

'Docker for Mac'앱을 다운로드하여 실행하지 않았습니다.

그러나 내가 달리려고 할 때

> docker run -d -p 80:80 --name webserver nginx
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.

양말 파일을 이미 확인했습니다

ls -lah /var/run/docker.sock /var/tmp/docker.sock
ls: /var/run/docker.sock: No such file or directory
ls: /var/tmp/docker.sock: No such file or directory

이 제안 된 솔루션을 시도했습니다. Mac OS X sudo docker Docker 데몬에 연결할 수 없습니다. 이 호스트에서 docker 데몬이 실행되고 있습니까?

그러나이 오류 메시지가 나타납니다.

$ eval $(docker-machine env default)
Host does not exist: "default"

명령 줄 도구로 도커 서비스를 실행할 수 있습니까?


2
Launchpad에서 Docker 응용 프로그램을 시작하면 응용 프로그램을 실행하기 위해이 응용 프로그램에 대한 일부 권한이 필요하다는 Docker가 게임으로 돌아 왔다는 대화 상자가 표시됩니다.
— Rafael Kerr

필자의 경우 다른 사용자가 로그인하여 실패한 이유가 있습니다. 다른 사용자를 로그 아웃 한 후 작업
— Raza Ahmed

답변:


467

지원되는 Mac에서 다음을 실행하십시오.

brew cask install docker

그런 다음 Docker 앱을 시작하십시오 . 다음을 클릭하십시오. 권한있는 액세스를 요청합니다. 확인하십시오. 상단 막대에 고래 아이콘이 나타납니다. 클릭하고 "Docker is running"이 나타날 때까지 기다리십시오.

docker지금 명령 을 실행할 수 있어야합니다 .

docker ps

docker는 시스템 수준 패키지이므로를 사용하여 설치할 수 없으며 brew install대신 cask를 사용해야합니다.

참고 :이 솔루션은 CPU가 가상화를 지원하는 Mac에서만 작동하며 이전 Mac은 포함하지 않을 수 있습니다.


10
이것이 정답입니다. 설치 및 고정 표시기를 검색 한 후 발사대로 이동
— 조 로이드

39
brew install docker를했는데 brew cask install docker 명령을 실행할 때까지 앱이 설치되지 않았습니다. 감사!
— jbrahy

2
캐스 크 설치 후에도 명령이 여전히 작동하지 않으면 어떻게됩니까?
— vol7ron

2
이 솔루션은 CPU가 가상화를 지원하는 Mac에서만 작동합니다. 예를 들어 2009 Mac Pro에서는 작동 하지 않습니다 . 이 중요한 사실을 포함하도록 답변을 편집 해 주시겠습니까?
— John Y

3
brew install docker처음 사용했을 때 도움이되었습니다 . brew installCLI 서비스 brew cask install를 처리하며 그래픽 사용자 인터페이스가있는 서비스를 처리하는 데 도움이되는 확장입니다.
— Binoy S Kumar

106

macOS에서 docker바이너리는 클라이언트 일 뿐이며 Docker 데몬은 Linux 관련 커널 기능을 사용하므로 Docker 데몬을 실행하는 데 사용할 수 없으므로 OS X에서 Docker를 기본적으로 실행할 수 없습니다. 따라서 docker-machine생성 하려면 설치해야합니다. VM에 연결하십시오.

docker-machinemacOS에 설치

docker-machine아직 명령 이 없으면 다음 방법 중 하나를 사용하여 설치하십시오.

  • Brew 명령 사용 : brew install docker-machine docker.
  • 릴리스 페이지 에서 수동으로 :

    $ curl -L https://github.com/docker/machine/releases/download/v0.16.1/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine
    $ chmod +x /usr/local/bin/docker-machine
    

Docker for Mac 시작하기를 참조하십시오 .

Virtualbox 설치

docker-machine설치되는 VirtualBox에 의존하며 그렇지 않은 경우 실패합니다. 이미 VirtualBox가 있으면이 단계를 건너 뛸 수 있습니다.

  • Homebrew 사용하기 : brew cask install virtualbox
  • Virtualbox.org 의 릴리스를 수동으로 사용

OS X 보안 패널에서 Virtualbox 커널 확장 로딩을 적극적으로 수락 한 후 다음 명령이 실패하지 않도록 시스템 을 다시 시작해야합니다.Error: VBoxNetAdpCtl: Error while adding new interface

docker-machinemacOS에서 구성

default기계를 만듭니다 (없는 경우 : 참조 docker-machine ls).

docker-machine create --driver virtualbox default

그런 다음 Docker 클라이언트의 환경을 설정하십시오.

eval "$(docker-machine env default)"

그런 다음 컨테이너를 나열하여 다시 확인하십시오.

docker ps

Docker Machine 및 로컬 VM 시작하기를 참조하십시오 .


관련 :


7
이것이 정답이어야합니다. a) 작동하지 않는 이유 b) OSX에서 UI를 다운로드하지 않고 작동하도록하는 지침 c) 추가 읽기를위한 참조 링크를 명확하게 설명합니다.
— user2490003 2016 년

1
또한 docker-machine 명령이 작동하도록 virtualbox를 설치해야했습니다.brew cask install virtualbox
— oligofren

1
docker-machine로그인 을 시작 brew services start docker-machine하거나 Homebrew를 사용하지 않으려면이 페이지의 "시작시 로컬 컴퓨터 시작"섹션 (Mac에 대한 지침 포함)을 참조하십시오.
— Chris H.

40

나는 다음 단계 에서이 문제를 해결했다.

docker-machine restart

터미널 (또는 iTerm2 등)을 종료하고 다시 시작하십시오.

eval $(docker-machine env default)

나는 또한 여기에 대답했다 .



15

Mac OS가 있고 응용 프로그램을 열고 Launchpad선택 docker합니다. 에서 reset탭을 클릭합니다 restart.


예, 먼저 Docker 응용 프로그램을 시작해야합니다. haha
— Ender

12

기본값을 만들려면 이것을 시도하십시오.

docker-machine create default

5
docker-machine 기본 생성 CA 생성 : /Users/stens/.docker/machine/certs/ca.pem 클라이언트 인증서 생성 : /Users/stens/.docker/machine/certs/cert.pem Running ". VBoxManage가 발견되지 확인 버추얼 박스가 설치되어 있는지 확인하고 VBoxManage는 경로에"버추얼 박스가 더 이상 OSX에 고정 표시기를 실행할 필요가 있기 때문에 잘못된 것 같다 .... : 수표를 만들 사전 ...와 오류 검사 사전을 만들
— Scott Stensland 2018

xhyve또한 사용할 수 있습니다. stackoverflow.com/a/42419979/32453을 참조 하거나 virtualbox를 설치 하십시오 :)
— rogerdpack

그래서 뭐 ?
— FrankyFred

7

OSX에서 발행하기 전에 Docker 응용 프로그램을 시작했는지 확인하십시오.

docker ps

또는 docker build... 등 ... 네 그것은 발행하는 것이 이상하고 다소 오도 된 것처럼 보입니다.

docker --version

도커 데몬이 실행되지 않는 경우에도 버전을 제공합니다 ... 다른 버전 cmd에 대해서는 ditto ... 방금 정확히 동일한 증상이 발생했습니다 ...


3

나는 같은 문제가 있었다. Docker가 실행 중이지만 CLI를 통해 액세스 할 수 없습니다.

나를 위해 "Docker Quickstart Terminal.app"를 실행하여 문제를 해결했습니다. "/ Applications / Docker /"폴더에 있습니다. 이 터미널 응용 프로그램 인스턴스에서 작업하는 한 Docker는 완벽하게 작동합니다. 두 번째 창이 필요한 경우 "Quickstart"앱을 한 번 더 실행해야합니다.

Mac 용 Docker가 설치되어 있습니다. 따라서 솔루션이 Homebrew 설치에 유효한지 확실하지 않습니다.

"Docker Quickstart Terminal"앱은 본질적으로 터미널 앱을 시작하기위한 일부 애플 스크립트 및 필요한 모든 환경 변수를 초기화하는 bash 시작 스크립트 인 것 같습니다.

이것이 다른 누군가를 돕기를 바랍니다!


3

나는 도커를 최신 상태로 유지했고,도 커가 실행 중이고 진단이 좋았다고 말했다. 레거시 환경 변수를 설정 해제해야했습니다 ( https://docs.docker.com/docker-for-mac/troubleshoot/#workarounds-for-common-problems 덕분에 )

unset DOCKER_HOST
unset DOCKER_CERT_PATH
unset DOCKER_TLS_VERIFY

1
이것은 VM 기반 docker에서 Mac Installer로 업데이트 한 후에 문제를 해결했습니다. 계속 VM을 찾고있었습니다.
— bobomoreno

'연결할 수 없습니다 ... 등'에 잘못된 IP 주소가 표시되는 경우이를 사용하십시오.
— bobomoreno

2

Mac 용 Docker는 더 이상 사용되지 않습니다. Mac에서 Docker를 실행하기 위해 Homebrew가 필요하지 않습니다. 대신 Docker Desktop을 설치하거나 이미 설치된 경우 최신 상태인지 확인한 다음 소켓에 다시 연결하십시오.

여기에 이미지 설명을 입력하십시오


2

설치 도커에 대한 스크립트를 실행하고 명령 행에서 실행해야합니다.

brew cask install docker
pip3 install docker-compose
open -a Docker
docker-compose ... 

그 후에 docker-compose작동해야합니다


고마워요
— Soul Coder

1

minikube를 설치하고 어두운면에 합류하십시오.

https://kubernetes.io/docs/tasks/tools/install-minikube/

$ bash --version
GNU bash, version 5.0.3(1)-release (x86_64-apple-darwin18.2.0)
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

eval $(minikube docker-env)

$ docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate     -i /local/swagger.json     -l python     -o /local/test/
[main] INFO io.swagger.parser.Swagger20Parser - reading from /local/swagger.json
[main] WARN io.swagger.codegen.DefaultGenerator - 'host' not defined in the spec. Default to 'localhost'.

bash v5가 설치된 Macbook Pro 2018에서 잘 작동합니다. 요즘 다른 모든 도커를 난센스로 설치할 필요가 없습니다. minikube와 함께 제공되는 VM 및 설치 스크립트는 내 경험에서 docker 컴퓨터를 대체 할 수 있습니다.


후속 의견으로, kube가없는 다른 프로젝트에도 커가 필요했으며 도커 데스크톱은 훌륭하게 작동합니다. 항상 시작하지 마십시오. 그렇지 않으면 kube가이 게시물에서 화를냅니다.
— Ligemer

1

나는 맥에서 비슷한 문제에 직면하고 있었고,도 커가 내 컴퓨터에서 실행되고 있지 않다는 것을 알았습니다. 응용 프로그램으로 이동하여 고래를 호출 한 다음 작동했습니다.



0

나는 스포트라이트 검색을 실행하고 brew cask install생성 된 / Applications 폴더에서 Docker 응용 프로그램을 실행해야했습니다 . 이것이 실행되면 설치를 완료하도록 요청했습니다. 나는 그때 달릴 수 있었다docker ps

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.