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.