MacOS'ta Docker arka plan programına bağlanamıyor


212

Normalde OSX'imdeki uygulamalarımı demleme ile yönetmeyi tercih ederim

Docker, docker-compose ve docker-machine yükleyebilirim

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

'Mac için Docker' uygulamasını indirmedim ve çalıştırmadım.

Ancak koşmaya çalıştığımda

> 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'.

Çorap dosyasını zaten kontrol ettim

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

Bu önerilen çözümü de denedim: Mac OS X sudo docker Docker arka plan programına bağlanamıyor. Docker arka plan programı bu ana bilgisayarda çalışıyor mu?

Ama bu hata mesajını aldım:

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

Bir docker hizmetini komut satırı araçlarıyla çalıştırmak mümkün mü?


2
Launchpad'den Docker uygulamasını başlatın, Uygulamayı çalıştırmak için bu Uygulama için bazı ayrıcalık tanınması gerektiğini soran bir iletişim kutusu gösterilecektir, bundan sonra Docker oyuna geri döndü.
Rafael Kerr

Benim durumumda başarısız oldu neden thats başka bir kullanıcı oturum vardı. Diğer kullanıcı
Raza Ahmed

Yanıtlar:


479

Desteklenen bir Mac'te şunları çalıştırın:

brew cask install docker

Ardından Docker uygulamasını başlatın . Sonrakine tıkla. Ayrıcalıklı erişim isteyecektir. Onaylamak. Üst çubukta bir balina simgesi görünmelidir. Tıklayın ve "Docker çalışıyor" ifadesinin görünmesini bekleyin.

dockerŞimdi komutları çalıştırabilmelisiniz :

docker ps

Docker sistem düzeyinde bir paket olduğundan, bunu kullanarak yükleyemezsiniz brew installve bunun yerine fıçı kullanmanız gerekir.

Not: Bu çözüm yalnızca CPU'ları eski Mac'leri içermeyen sanallaştırmayı destekleyen Mac'lerde çalışır.


10
Bu kabul edilen cevap olmalı. Yükleme ve arama işinden sonra fırlatma rampasına gidin
Joe Lloyd

39
Bir brew install docker yaptım ve komut brew cask install docker komutunu çalıştırana kadar uygulama yüklenmedi. Teşekkürler!
jbrahy

2
Komut fıçı yüklendikten sonra bile hala çalışmıyorsa (ve Docker balinası parola verildikten sonra çalıştığını gösteriyorsa) ne olur?
18'de vol7ron

2
Bu çözüm yalnızca CPU'ları sanallaştırmayı destekleyen Mac'lerde çalışır. O mu değil örneğin bir 2009 Mac Pro çalışır. Cevabınızı bu önemli gerçeği içerecek şekilde düzenleyebilir misiniz?
John Y

3
brew install dockerBaşlangıçta kullandığım için bu bana yardımcı oldu . brew installCLI hizmetleri brew cask installile anlaşma ve grafik kullanıcı arayüzü ile hizmet başa yardımcı olan bir uzantısıdır.
Binoy S Kumar

110

MacOS üzerinde dockernedenle size yüklemek zorunda OS X'de So yerel olarak Docker koşamam, ikili sadece bir istemci ve sen Docker cin Linux özgü çekirdenözellikleri kullanması nedeniyle, liman işçisi daemon'nını çalıştırmak kullanamazsınız docker-machineyaratmak için VM ve ona ekleyin.

docker-machineMacOS'a yükle

docker-machineHenüz komutunuz yoksa , aşağıdaki yöntemlerden birini kullanarak kurun:

  • Kullanılması Brew komutunu: brew install docker-machine docker.
  • Bültenler sayfasından manuel olarak :

    $ 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
    

Bkz . Mac için Docker'ı kullanmaya başlama .

Virtualbox'ı yükle

docker-machinekurulu VirtualBox'a dayanır ve bu durumda başarısız olur. Zaten VirtualBox'ınız varsa bu adımı atlayabilirsiniz.

  • Homebrew kullanma: brew cask install virtualbox
  • Virtualbox.org'daki sürümleri manuel olarak kullanma

OS X Güvenlik paneline Virtualbox çekirdek uzantısını yüklemeyi aktif olarak kabul etmeniz ve sonraki komutların başarısız olmaması için makineyi yeniden başlatmaya devam etmeniz gerekir.Error: VBoxNetAdpCtl: Error while adding new interface

docker-machineMacOS'ta yapılandırma

Bir defaultmakine oluşturun (eğer bir makineniz yoksa, bakınız docker-machine ls:):

docker-machine create --driver virtualbox default

Ardından Docker istemcisi için ortamı ayarlayın:

eval "$(docker-machine env default)"

Ardından kapları listeleyerek tekrar kontrol edin:

docker ps

Bkz: Docker Machine ve yerel bir VM'yi kullanmaya başlama .


İlişkili:


7
kabul edilen cevap bu olmalıdır. A) neden çalışmadığı, b) OSX'te kullanıcı arayüzünü indirmeden çalışmasını sağlamak için talimatlar ve c) daha fazla okuma için referans bağlantıları.
user2490003

1
Ayrıca docker-makine komutlarının çalışmasını sağlamak için virtualbox kurmam gerekiyordu:brew cask install virtualbox
oligofren

1
docker-machineOturum açmaya başlamak için brew services start docker-machineveya öğesini kullanarak Homebrew'u kullanmak istemiyorsanız, bu sayfanın "Başlangıçta yerel makineleri başlat" bölümüne bakın (Mac için talimatlar içerir).
Chris H.

"Demlemek fıçı yüklemek docker" ile docker yüklemek nasıl yardımcı olur? Mac'te çalışacak docker daemon iş parçacığını çalıştırmaya izin verecek mi? "Docker: unix: ///var/run/docker.sock adresindeki Docker arka plan programına bağlanamıyor" hatasını nasıl çözer?
Gunjan Shah

40

Aynı sorunu yaşadım, aşağıdaki adımlarda çözdüm:

docker-machine restart

Terminalden (veya iTerm2 vb.) Çıkın ve yeniden başlatın

eval $(docker-machine env default)

Burada da cevapladım


2
Eval

15

Mac OS'im var ve uygulamayı açıp Launchpadseçiyorum docker. dan resetsekmesine tıklayın restart.


Evet, önce Docker uygulamasını başlatmalısınız haha
Ender

12

Varsayılan oluşturmak için bunu deneyin.

docker-machine create default

5
bu bana verdi ... docker-makine varsayılan oluştur CA oluşturma: /Users/stens/.docker/machine/certs/ca.pem İstemci sertifikası oluşturma: /Users/stens/.docker/machine/certs/cert.pem Çalışıyor pre-create kontrolleri ... pre-create denetimi ile hata: "VBoxManage bulunamadı. VirtualBox yüklü olduğundan ve VBoxManage yolunda olduğundan emin olun" .... bu VirtualBox artık dox üzerinde docker çalıştırmak için gerekli çünkü yanlış görünüyor
Scott Stensland

Siz de kullanabileceğiniz anlaşılıyor xhyve, stackoverflow.com/a/42419979/32453 adresine bakın veya sadece sanal kutu yükleyin :)
rogerdpack

E n'olmuş ?
FrankyFred

7

OSX'te, yayınlamadan önce Docker uygulamasını başlattığınızdan emin olun

docker ps

veya docker build... vs ... evet bu garip ve biraz yanıltıcı görünüyor

docker --version

docker arka plan programı çalışmıyor olsa da sürüm verir ... bu diğer sürüm cmds için ditto ... Ben sadece aynı belirtilerle karşılaştım ... OSX bu davranış linux farklı


3

Ben de aynı problemi yaşadım. Docker çalışıyor ancak CLI aracılığıyla erişemedi.

Benim için sorun "Docker Quickstart Terminal.app" uygulanarak çözüldü. Bu, "/ Applications / Docker /" klasöründe bulunur. Terminal uygulamasının bu örneğinde çalıştığım sürece Docker mükemmel çalışıyor. İkinci bir pencere gerekiyorsa "Quickstart" uygulamasını bir kez daha çalıştırmam gerekiyor.

Mac için bir Docker kurulumum var. Bu nedenle, çözümümün Homebrew kurulumu için geçerli olup olmadığından emin değilim.

"Docker Quickstart Terminal" uygulaması, terminal uygulamasını ve gerekli tüm ortam değişkenlerini başlatan bir bash start komut dosyasını başlatmak için bazı elma komutları gibi görünüyor.

Umarım bu başka birine yardımcı olur!


3

Docker'ı güncel tuttum, docker çalıştığını ve teşhisin iyi olduğunu söyledi. Bazı eski ortam değişkenlerini kaldırmam gerekiyordu (teşekkürler https://docs.docker.com/docker-for-mac/troraseot/#workarounds-for-common-problems )

unset DOCKER_HOST
unset DOCKER_CERT_PATH
unset DOCKER_TLS_VERIFY

1
Bu, VM tabanlı docker'dan Mac Installer'a yapılan bir güncellemeden sonra sorunumu çözdü. VM'yi aramaya devam etti.
bobomoreno

'Bağlanılamıyor ... vb.'
bölümünde

3

Yükleme docker'ı için komut dosyasını çalıştırmalı ve komut satırından başlatmalısınız:

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

bundan sonra docker-composeçalışmalı


benim için çalıştı, teşekkürler
Soul Coder

2

Mac için Docker kullanımdan kaldırıldı. Mac'te Docker'ı çalıştırmak için Homebrew'a ihtiyacınız yok. Bunun yerine, muhtemelen Docker Desktop'ı kurmak isteyeceksiniz veya zaten kuruluysa, güncel ve çalışır durumda olduğundan emin olun, ardından sokete tekrar bağlanmayı deneyin.

resim açıklamasını buraya girin


1

Minikube takın ve karanlık tarafa katılın.

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'.

Macbook Pro 2018'de bash v5 ile harika çalışıyor. IMO bu gün diğer docker saçmalık yüklemenize gerek yok. Minikube ile birlikte gelen VM ve kurulum betiği, docker makinesini deneyimlerimden değiştirebilir.


Bir takip yorumu olarak, kube olmadan başka bir proje için de docker gerekiyordu ve docker masaüstü harika çalışıyor. Sadece her zaman başlatma ya da kube bu yazıdan öfkelenir.
Ligemer

1

Mac'imde benzer bir sorunla karşılaşıyordum ve docker'ın makinemde çalışmadığını gördüm, sadece uygulamalara gittim ve balina çağırdım ve sonra çalıştı.



0

ben sadece spotlight arama çalıştırmak ve brew cask installoluşturulan / Applications klasörü altında Docker uygulamasını yürütmek zorunda kaldı . Bu çalıştırıldıktan sonra kurulumun tamamlanmasını istedi. Sonra koşabildimdocker ps

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.