Docker, docker arka plan programına bağlanamıyor


473

Docker sürümümü olarak güncelledikten sonra 0.8.0, girerken bir hata mesajı alıyorum sudo docker version:

Client version: 0.8.0
Go version (client): go1.2
Git commit (client): cc3a8c8
2014/02/19 12:54:16 Can't connect to docker daemon. Is 'docker -d' running on this host?

Ve talimatları izledim ve komuta sudo docker -dgirdim ve bunu aldım:

[/var/lib/docker|2462000b] +job initserver()
[/var/lib/docker|2462000b.initserver()] Creating server
open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory[/var/lib/docker|2462000b] -job initserver() = ERR (1)
2014/02/19 12:55:57 initserver: open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory

Sorunu nasıl çözebilirim?


7
Docker -d komutunu çalıştırırken sudo kullandınız mı?
Ben Whaley

Hatada diyor ki fark ettim no such file or directory[/var/lib/docker|2462000b]. Mu /var/lib/dockersisteminizde mevcut? Değilse, Docker'ı yeniden yüklemeniz gerektiğini düşünüyorum.
Ben Whaley

3
Aynı problemi yaşıyorum ('ps' gösterilerinin hala çalıştığı bir daemon'a bağlanamıyorum), ancak daemon'u başlatırken herhangi bir 'dosya bulunamadı' mesajı alamıyorum. / var / lib / docker mevcut.
Jonathan Hartley

Bir VPS'de docker kullanıyor musunuz?
pigletfly

Docker masaüstünü buradan yükleyin, çözecektir. docs.docker.com/docker-for-mac/install
Guy Assaf

Yanıtlar:


642

Linux

Linux için Yükleme sonrası adımları belgelerine aşağıdaki adımları ortaya koymaktadır:

  1. Oluşturun Liman işçisi grubunu .
    sudo groupadd docker
  2. Kullanıcıyı docker grubuna .
    sudo usermod -aG docker $ (whoami)
  3. Docker'ın doğru izinlerle çalıştığından emin olmak için oturumu kapatın ve tekrar oturum açın.
  4. Bağlantı istasyonunu başlatın.
    sudo service docker start

Mac OS X

Dayel Ostraco'nun söylediği gibi ortam değişkenleri eklemek için gerekli:

docker-machine start # Start virtual machine for docker
docker-machine env  # It's helps to get environment variables
eval "$(docker-machine env default)" # Set environment variables

docker-machine startKomut sürecini yönlendirecek bir yorum çıkarır.


Evet. Benim için sorun buydu. Kullanıcımı docker grubuna ekledim ve şimdi daemon'a bağlanabiliyorum. Teşekkürler
Bogdan

FWIW, belirli bölüme bağlantı şu
asimetrik

20
Herhangi bir nedenle oturumu kapatmak istemiyorsanız newgrp, bu yeni grupta yeni bir kabuk başlatmak için command komutunu kullanabilirsiniz . Bunun gibi: newgrp docker.
Denilson Sá Maia

sudo chown $ USER: $ USER / yol / to / docker / ikili
Ivor Scott

Bash'ı yeniden başlatmak için vaktim yoktu. Yani alias docker='sudo docker'hile yaptı. : p
LovaBill

149

Linux

Linux'ta docker arka plan programını çalıştırmak için ( CLI'den ), şunu çalıştırın:

$ sudo service docker start # Ubuntu/Debian

Not: $Kopyalama ve yapıştırma sırasında karakteri atlayın .

RedHat / CentOS'ta çalıştırın: sudo systemctl start docker .

"Temel" dosya sistemini başlatmak için şunu çalıştırın:

$ sudo service docker stop
$ sudo rm -rf /var/lib/docker
$ sudo service docker start

veya manuel olarak:

$ sudo docker -d --storage-opt dm.basesize=20G

Yüklemek docker-machineLinux'a

Linux'ta makine ikili dosyaları yüklemek için:

  • yerel olarak:

    install -vm755 <(curl -L https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) $HOME/bin/docker-machine
    
  • küresel:

    sudo bash -c 'install -vm755 <(curl -L https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) /usr/local/bin/docker-machine'
    

Mac os işletim sistemi

MacOS'ta dockerikili dosya yalnızca bir istemcidir ve Docker arka plan programı çalıştırmak için kullanamazsınız, çünkü Docker arka plan programı Linux'a özgü çekirdek özelliklerini kullanır, bu nedenle Docker'ı OS X'te yerel olarak çalıştıramazsınız.docker-machine yaratmak için VM ve ona ekleyin.

Yüklemek docker-machineMacOS'a

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

  • Kullanılması Brew komutunu: brew install docker-machine docker.
  • GitHub'dan manuel olarak :

    install -v <(curl https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) /usr/local/bin/docker-machine
    

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

Yapılandır docker-machineMacOS'ta

Docker Machine'i Homebrew üzerinden başlatmak için şu komutu çalıştırın:

brew services start docker-machine

Bir defaultmakine oluşturmak için (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 .


MacOS'ta Docker.app uygulamasını yükleyin

Yukarıdaki çözüme alternatif olarak, bir Docker uygulamasını şu şekilde yükleyebilirsiniz:

brew cask install docker

Daha fazla ayrıntı için bu gönderiyi kontrol edin . Ayrıca bkz: macOS'ta Docker arka plan programına bağlanamıyor


1
sudo service docker start Ubuntu

Teşekkürler. Ubuntu 14.04'te benim için çalışan bu oldu. diğer her şey başarısız oldu.
nyxee

Bu, 2010'dan daha eski donanımlara sahip Mac OSX'te benim için çalışan tek şeydi. Docs.docker.com/toolbox/toolbox_install_macdocker-toolbox
Vikram

2
Homebrew üzerinden docker-compose, docker-machine ve docker'ı kurmam gerekiyordu, o zaman iyi çalıştı!
Entalpi

Docker 18 ile CentOS 7.6'da bu sorunu yaşadım sudo rm -rf /var/lib/dockerve sonra yeniden başlatmak hile yaptı. Gerçekten takıldım ve başka hiçbir çözüm işe yaramadı.
Ashkan

142

Docker'ı OS X üzerinde çalıştırıyorsanız, aşağıdaki değerlendirmeyi çalıştırmak benim için çalıştı.

eval "$(docker-machine env default)"

Bu değerlendirme ifadesini her terminal oturumunda çalıştırmamayı tercih ederseniz, bunu aşağıdakilere ekleyebilirsiniz bash_profile:

#Docker
eval "$(docker-machine env default)"

bash_profileDeğişikliklerin etkili olması için terminal oturumunu yeniden başlattığınızdan veya kaynağı açtığınızdan emin olun .


3
Aynı şekilde, eğer bunu tek başıma Error checking TLS connection: Host is not runningdenersem, sık sık ... bu değerlendirmeyi komut docker-machine start defaulthile yaptıktan sonra çalıştırıyorum .
Emilio Ferrucci

100

Ayrıntılı bir araştırmadan sonra, bu sorun Mac OS X her yeniden başlatıldıktan sonra gerçekleşiyor gibi görünüyor (veya Docker sanal makinesi yeniden başlatıldıktan sonra) gerçekleşir ve bu da Docker istemcisinin Docker arka plan programına bağlanmasını önler.

Sorunu çözmek için aşağıdakilerden birini yapabilirsiniz:

A) Docker Toolbox'ı resmi yükleyiciyi ( https://www.docker.com/products/docker-toolbox ) kullanarak veya yalnızca

B) Aşağıdaki komutları sırayla çalıştırın:

# First make sure that the virtual machine is running
docker-machine start default

# Regenerate TLS connection certs, requires confirmation
docker-machine regenerate-certs default

# Finally, set env
eval "$(docker-machine env default)"

C) (B) ile aynı şekilde, aşağıdaki üç komutu da çalıştırmak için aşağıdaki satırı kopyalayıp yapıştırabilirsiniz:

docker-machine start default; docker-machine regenerate-certs default; eval "$(docker-machine env default)"

Aşağıdaki hatayı alırsanız:

Error getting SSH command: Something went wrong running an SSH command!
command : cat /etc/os-release
err     : exit status 255
output  :

sadece üç komutu yeniden çalıştırın ve ikinci kez çalışması gerekir.


6
Host alıyorum: "default"
Roman Gaufman

@RomanGaufman: bu sizin için çalışıyor mu?
KAD

1
@RomanGaufman Komut başarıyla çalıştırılmadan önce terminalimi yeniden başlatmam gerekiyordu.
anon58192932

çünkü mac'unuzu her yeniden başlattığınızda sanal kutu vm ip değişiyor?
Cui Pengfei 崔鹏飞

@ RomanGaufman'ın hatası aşağıdaki cevapla (şu anda) çözüldü: stackoverflow.com/a/34887761/634576
Dave Schweisguth

47

Bu genellikle dockergrupta olmadığınızda olur . Kendinizi dockergruba aşağıdakilerle ekleyebilirsiniz :

sudo usermod -aG docker yourusername

veya

sudo usermod -aG docker $(whoami)

Bundan sonra, oturumu kapatıp sunucuya tekrar giriş yapmanız gerekir.

Alternatif olarak, sudoher Docker komutunu yapabilirsiniz .


5
ve grup yoksa: sudo groupadd docker
izy

30

Yukarıdaki tüm diğer çözümler işe yaramazsa aşağıdakilerin sahipliğini kontrol etmeyi deneyebilirsiniz /var/run/docker.sock:

ls -l /var/run/docker.sock

Sahip değilseniz, komutla sahipliği değiştirin:

sudo chown *your-username* /var/run/docker.sock

Ardından, Docker komutlarını sorunsuz bir şekilde yürütmeyi deneyebilirsiniz: D


1
Bu cevapla başladım ve bu bana yardımcı oldu!
Andrzej Martyna

2
Bu yaklaşımla ilgili sorun, daemon her yeniden başlatıldığında bu adımı tekrarlamanız gerektiğidir
MFIhsan

Merhaba @MFIhsan akıllı bir sys-admin, bu komutların bash betiğini oluşturmanızı ve burada açıklandığı gibi yeniden başlatma / başlatma sırasında çalıştırmasını sağlamak için crontab'a eklemenizi
söyler

Sıradan bir kullanıcının asla çorap sahibi olmaması gerekir! Çorap sahibi değilseniz, tekerlek grubunda ve çorapların ait olduğu grupta olduğundan emin olun ... çorap sahipleri grubuna değil!
CrazyMerlin

16

Docker'ın neden çalışmadığını öğrenmenin en iyi yolu, arka plan programını manuel olarak çalıştırmaktır.

$ sudo service docker stop
$ ps aux | grep docker  # do this until you don't see /usr/bin/docker -d
$ /usr/bin/docker -d

Docker arka plan programı STDOUT'ta oturum açar, böylece ne yaparsa tükürmeye başlayacaktır.

Benim sorunum şuydu:

[8bf47e42.initserver()] Creating pidfile
2015/01/11 15:20:33 pid file found, ensure docker is not running or delete /var/run/docker.pid

Bunun nedeni, örneğin başka bir sanal makineden klonlanmış olmasıdır. Ben sadece pidfile kaldırmak zorunda kaldı ve daha sonra her şey çalıştı.

Tabii ki, körü körüne işe yarayacağını varsaymak yerine, hizmetin yedeklenmesine başlamadan önce arka plan programının bir kez daha manuel olarak çalıştırılmasını ve diğer hatalar için günlük çıktısını gözden geçirmenizi öneririm.


1
Sorunu bulmamda bana yardımcı olan da bu oldu (ne yazık ki cevabını sonra gördüm). Benimki eksik apparmorpaketti.
Pierre de LESPINAY

Bu çözüm benim için çalıştı. /Var/run/docker.pid dosyasını sildikten sonra nihayet docker'ı başlatabildim.
jirikadlec2

3
Uyarı: '-d' kullanımdan kaldırıldı, yakında kaldırılacak. Kullanım bölümüne bakınız. UYARI [0000] lütfen bunun yerine 'docker daemon' kullanın.
juanmf

3
bayrak sağlandı ancak tanımlanmadı: -d
Luís de Sousa

Hata ayıklama etkinleştirilmiş olarak en son sürümlerde docker daemon'u manuel olarak çalıştırmak için:dockerd -D
Luis Miguel Serrano

14

Mesajı Can't connect to docker daemon. Is 'docker -d' running on this host?alırsanız, kontrol edebilirsinizdocker version .

Docker Client gibi bilgilerin çalıştığını görürseniz . ancak Docker Server , Docker sunucusunu başlatmanız gerektiği açıktır.

CentOS'ta serviceDocker sunucusunu başlatmak veya durdurmak için kullanabilirsiniz .

$ sudo service docker stop
$ sudo service docker start

Ardından, yazdıktan sonra Docker İstemcisi ve Docker Sunucusudocker version bilgilerini alırsınız ve Docker arka plan programı başlatıldı.


2
sudo service docker startbenim için Ubuntu 14.04'te de çalıştı.
funroll

Cent os 7, her zaman docker başlattığınızda yapmak zorunda.
Çeltik

@Paddy Hizmeti belirledikten sonra etkinleştirmeniz gerekir ve sistem başlatılırsa ve arka planda çalışmaya devam ederse çalışır.
CrazyMerlin

Tüm bu cevaplar: "Sudo systemctl start docker gerekir" her zaman başlatmak için bir docker hizmeti olduğunu varsayalım. Bağlantı birimini kurarken herhangi bir sorun varsa, bir hizmet yapılandırma dosyası bile mevcut olmayabilir, bu durumda şunları elde edersiniz: "Unit docker.service yüklenmedi"
CrazyMerlin

12

ps aux | grep dockerDaemon'un çalışıp çalışmadığını görmek için a yapın. Çalışmazsa/etc/init.d/docker start


5
Aynı problemim var. 'ps' docker işlemimin hala devam ettiğini gösteriyor.
Jonathan Hartley

(zaten çalışıyor olan) liman işçisini durdurmak ve başlatmak beni düzleştirdi.
kyle

14
sudo service docker startbana "liman işçisi çalıştır / çalıştır, 4633 süreci" diyor sonra sudo service docker statusliman işçisi "durdur /
beklet

12

Docker'ı yükledikten sonra yeniden başlatıyorum:

$ sudo service docker stop
$ sudo service docker start

Ve çalışıyor.


9

Benzer bir sorunum var. Docker'ı yeni yükledim ve aşağıdaki komut ortamımda görünmediği için oturumu kapatıp tekrar oturum açmak zorunda kaldım.

export DOCKER_HOST=127.0.0.1:4243 >> ~/.bashrc

3
Sadece çıkış yapmam ve tekrar giriş yapmam gerekiyordu. Hepsi düzeltildi!
Mark Shust, M.Academy'de

Bu benim sorunumu çözdü! WSL olarak Ubuntu 16.04 kullanıyorum. Değiştirmem gereken tek şey varsayılan bağlantı noktası numarasıydı: export DOCKER_HOST = 127.0.0.1: 2375 >> ~ / .bashrc
Alex

9

Bu sorunla karşılaştım ve Docker'ı şu komutları kullanarak yeniden başlattım:

$ sudo service docker stop
$ sudo service docker start

Ama sorunumu çözmedim, çünkü Docker komutlarımı sudo . Bu sorunla karşılaşanlar için bunu kontrol etmeye çalışın.

Deneyin

$ sudo docker info

bunun yerine:

$ docker info

Bu oldu tam olarak çalıştırmak çalışırken benim sorunum docker buildUbuntu Xenial üzerinde.
ashnazg

9

Komutu kullanabilirsiniz

sudo service docker stop && sudo service docker start

basitçe başlatmak için.


3
Veya sudo service docker restart, daha kolay 😊
fr1sk

8

Bende aynı hata var ve deniyorum docker-machine regenerate-certsveyaeval.. da benim için çalışmadı.

Bu, OS X 10.11.3 (El Capitan) ve Docker v1.10.1'de geçerlidir. Bunu sadece docker makinesini tekrar silerek ve yeniden oluşturarak çözebildim. Kaynak

Çalışıyorsa docker-machine ls, aşağıdakine benzer bir çıktı gösterir;

LİMAN İŞÇİSİ

Bilinmeyen

HATALAR

Docker sürümü sorgulanamıyor: Docker motoru uç noktasına bağlanamıyor

Docker makinenizi;

docker-machine rm -f default

defaultDocker makinenizin adı nerede . Sonra;

docker-machine create -d virtualbox default

Yeni bir Docker makinesi oluşturur.

Şu anda her şeyin normal göründüğünü (hata veya bilinmeyen Docker yok) iki kere kontrol edin:

docker-machine ls

Son olarak, "$(docker-machine env default)"devam etmeden önce çalıştırmayı veya sizin için yapan Docker Hızlı Başlangıç ​​Terminalini çalıştırmayı unutmayın ...


6

Aynı sorunla karşılaştım - "Docker arka plan programına bağlanamıyorum." (sunucuyu başlatmaya çalışırken herhangi bir 'dosya bulunamadı' hatası alamadım.)

'ps', "/ usr / bin / docker -d" dosyasının hala çalıştığını gösterdi

Sunucuyu kendim çalıştırmayı asla başaramayacağımı fark ettim. Her girişim

...
2014/03/24 21:57:29 pid file found, ensure docker is not running or delete /var/run/docker.pid

Bu yüzden gecikmiş bir şekilde, docker kurulumunun belki de artalan sürecini uptart ile kaydettiğini fark ettim, ki bu benim için başlattı. Bu nedenle, manuel olarak yeniden başlatmak için arka plan programını öldürmeye çalışmak başarısız olur (işleme izin verilmez). Ben de yaptım

sudo kill -9 <PID>

daemon sürecine. Başka bir daemon hemen yerini aldı ve bu yeni olan şimdi CLI istemcimin bağlanmasına izin veriyor:

$ sudo docker info
Containers: 0
Images: 0
Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Dirs: 0
WARNING: No memory limit support
WARNING: No swap limit support

6

Geçerli kullanıcıyı dockergruba eklemeyi deneyin :

sudo usermod -aG docker $USER

Ardından oturumu kapatın ve oturum açın.


6

kullanım Docker CE uygulamasını

Mac os işletim sistemi

MacOS için yeni Docker Topluluk Sürümü uygulamasını kullanın . Örneğin:

  1. Şimdiye kadar yüklediğiniz tüm Docker Homebrew paketlerini kaldırın:

    brew uninstall docker-compose
    brew uninstall docker-machine
    brew uninstall docker
    
  2. Bir uygulamayı manuel olarak veya Homebrew-Cask aracılığıyla yükleyin :

    brew cask install docker
    

    Not: Bu uygulama için gerekli bağlantıları yaratacak docker, docker-compose, docker-machinevb

  3. Uygulamayı çalıştırdıktan sonra, durum menüsünde bir Docker balina simgesine göz atın.

  4. Şimdi kullanmak gerekir docker, docker-compose, docker-machineher zamanki gibi komutları Terminal .

İlişkili:

Linux / Windows

İndirme sayfasından Docker CE'yi indirin ve talimatları izleyin.


2018-5-20 not: macOS'taki Docker CE uygulaması oldukça berbat. her açtığımda doğru şekilde donuyor, hiçbir şey yapamıyor. Google'a çalıştım ve sorunu düzeltmeye çalıştım, şu ana kadar hala üzerinde çalışıyorum
NamNamNam

1
Bu, bildirilen sorun için doğru cevap, teşekkürler!
paranza

6

Bu yazıda zaten çok sayıda cevap olduğunu biliyordum. Sadece yukarıda bahsedilen sorunun çözüldüğü basit bir cevap eklemek istiyorum.

sudo systemctl start docker

Yukarıdaki komutu çalıştırın ve docker ile ilgili tüm konuları / hizmetleri başlatır.


5

Amazon AWS'de de aynı sorunu yaşadım .

İşte ne denedim:

  • Kurmak docker-machineMevcut AWS örneğiyle yerel olarak
  • Kullanılan genel kurulum
  • Bir tür bağlandı, ancak uzak bağlantı noktası kapatıldığından başarısız oldu
  • Bundan sonra Docker arka plan programı başlamayı reddetti, ancak koşmak dockerdişe yaradı ...

Uzak makinede aşağıdakiler test edildi:

service docker start # Also restart, no success
systemctl start docker # Also restart, no success
dockerd # Success

Her /var/lib/dockerşeyi kaldırdım ve kaldırdım, ancak yeniden yüklemeden sonra başarı olmadı. Ne yazık ki hatalardan saklanan hiçbir günlük yok, ama docker.servicesadece başlatmayı reddetti.

Ancak, nihayet sorunumu çözen temel olarak:

sudo usermod -aG docker $(whoami)

4

Docker'ın DOC sitesini takip etme: Docker'ı kök olmayan bir kullanıcı olarak yönetme

1) Docker Grubu Oluşturun

sudo groupadd docker 

2) Grubun ayrıcalıklarını almak için kullanıcıyı docker grubuna dahil edin.

sudo usermod -aG docker $USER

Kabuğunuz için DOCKER_HOST ortam değişkeninin ayarlanıp ayarlanmadığını kontrol edin.

env | grep DOCKER_HOST

Varsa,

unset DOCKER_HOST

O zaman bu işe yaramalıdır:

docker run hello-world

1
benim için unset DOCKER_HOSTçalışan bir hayat kurtarıcısın
user3014595

4

Docker aracını kullanarak OS X üzerinde çalışıyorsanız, bunu izleyin.

Arka plan programını yeniden başlatın ve ortamınızı yapılandırın:

docker-machine restart

Ve sonra

docker-machine env

En sonunda,

eval $(docker-machine env)

Arka plan programının çalıştığını test etmek için:

docker ps -aveya docker-machine ls. Bu tüm kapları listeleyecektir.


2

Ben de aynı problemi yaşadım. CentOS 6.5'te:

ps aux |grep `cat /var/run/docker.pid`

Herhangi bir Docker arka plan programı işlemi göstermiyorsa, şunu yazarım:

docker -d

Ardından Docker'ı durdurmak için Ctrl+ D. -dSeçeneği kullandığımız için Docker daemon olarak çalışır. Şimdi yapabiliriz:

service docker start

Sonra yapabilirim docker pull centos . Bu kadar.

NOT: Bunlar işe yaramazsa, deneyebilir yum updateve bunları tekrarlayabilirsiniz, çünkü yum installbunlardan önce ben .


2

Docker Servisi çalışmıyor olabilir.

Bir RedHat / Fedora / CentOS kullanıyorsanız, lütfen bunu deneyin:

sudo systemctl start docker

Ubuntu / Debian kullanıyorsanız:

sudo service start docker

Docker, ana makinenizde ve ilgili bağlantı noktasında çalışmaya başlar.


1

Docker Machine kullanıp kullanmadığınızı kontrol edin :)

Koş docker-machine env defaulthile yapmalı.

Çünkü belgelere göre:

Docker Machine, sanal ana bilgisayarlara Docker Engine'i yüklemenizi ve ana bilgisayarları docker-machinekomutlarla yönetmenizi sağlayan bir araçtır . Machine uygulamasını, yerel Mac veya Windows kutunuzda, şirket ağınızda, veri merkezinizde veya AWS veya Digital Ocean gibi bulut sağlayıcılarında Docker ana bilgisayarları oluşturmak için kullanabilirsiniz.

docker-machineKomutları kullanarak , yönetilen bir ana bilgisayarı başlatabilir, inceleyebilir, durdurabilir ve yeniden başlatabilir, Docker istemcisini ve arka plan programını yükseltebilir ve bir Docker istemcisini ana makinenizle konuşacak şekilde yapılandırabilirsiniz.

Makine CLI'sini çalışan, yönetilen bir ana bilgisayara yönlendirin; dockerkomutları doğrudan bu ana bilgisayarda çalıştırabilirsiniz . Örneğin, docker-machine env defaultadlı bir ana bilgisayarı işaret etmek için çalıştırın , kurulumu defaulttamamlamak için ekrandaki talimatları izleyin envve çalıştırın docker ps, docker run hello-worldvb.

https://docs.docker.com/machine/overview/


1
  1. Ben de aynı sorunu yaşadım. Sorun docker-daemon ve docker-client'a tahsis edilmiş soketlerdeydi.
  2. İlk olarak, docker.sock üzerindeki docker-client için izin ayarlanmadı "sudo usermod -aG docker $ USER" kullanarak ayarlayabilirsiniz
  3. Sonra docker-istemcisinin çalıştığı bash dosyanızı kontrol edin, Benim için 0.0.0.0:2375, docker-daemon unix soketinde çalışırken (dockerd yapılandırma dosyasında ayarlandı).
  4. Sadece bash satırını yorumlayın ve işe yarayacaktır.
  5. Ancak unix soketi yerine TCP bağlantı noktasında çalışmasını istiyorsanız, dockerd'ın yapılandırma dosyasını değiştirin ve 0.0.0.0.2375 olarak ayarlayın ve satırı olduğu gibi bash'da tutun veya 0.0.0.0 olarak ayarlayın: 2375.

1

Düzeltmek için terminalde aşağıdaki komutları vermeniz gerekir. Her adımı açıklayacağım:

# Uninstall Docker from apt packages
$ sudo apt-get remove docker docker.io

# Remove it from the libraries just to be
# sure it's gone forever
$ sudo rm -rf /var/lib/docker/*

Şimdi, işleri basitleştirmek ve daha fazla zaman almak istiyorsanız, initkomut dosyamı şu parametre ile çalıştırabilirsiniz installDocker:

# Pull the init script from GitHub
$ wget https://github.com/dminca/dotfiles/blob/master/init

# Add rights to run the script
$ chmod 755 init

# Just run the script with the installDocker parameter
$ ./init installDocker

Yeniden başlatma isteğe bağlıdır, ancak her şeyin düzgün çalıştığından emin olmak için bunu yapmanızı öneririm.


1

Ubuntu 14.04'te Docker 1.10'u çalıştırırken aynı sorunu yaşadım ve verilen cevapların hiçbiri işe yaramadı. Benim için düzeltme, Docker arka plan programını çalıştırırken depolama sürücüsünü belirtmekti.

sudo docker daemon --storage-driver=devicemapper

1

Gitlab-ci / gitlab-runner kullanıyorsanız, erişim izniniz yoksa bu hatayı alırsınız /var/run/docker.sock.

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock

Sorunu çözmek:

sudo usermod -aG docker gitlab-runner

Şununla doğrula:

sudo -u gitlab-runner -H docker info

Umarım yardımcı olur.


0

TLS sertifikalarının yenilenmesi işe yaramazsa

docker-machine regenerate-certs default

Liman işçisi makinesini yeniden başlatmayı ve env değişkenini ayarlamayı deneyin:

docker-machine restart default
eval $(docker-machine env default)

Makinenin çalışıp çalışmadığını kontrol edin:

docker-machine ls

Veya alternatif olarak

docker run hello-world

Bu benim için çalıştı. Ancak, hala arka plan programınız yoksa, Docker'ın sorun giderme sayfasında yeni bir makine durdurma, kaldırma ve oluşturma işlemi ayrıntılı olarak açıklanır .


0

"Docker arka plan programına bağlanamıyor. Docker arka plan programı bu ana bilgisayarda çalışıyor mu?"

Kullanmayı unutmuştum sudo. Umarım bazılarımıza yardımcı olur.

$:docker images
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

$:sudo docker images
REPOSITORY   TAG   IMAGE ID   CREATED   SIZE
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.