Docker arka plan programına unix: /var/run/docker.sock adresinden bağlanamıyor. Liman işçisi arka plan programı çalışıyor mu?


173

İnternette bulunan her çözümü uyguladım ancak Docker'ı çalıştıramıyorum.

Sunucumda Scrapy Splash kullanmak istiyorum.

İşte historyçalıştırdığım komutlar.

docker run -p 8050:8050 scrapinghub/splash
sudo docker run -p 8050:8050 scrapinghub/splash
sudo usermod -aG docker $(whoami)
sudo docker run -p 8050:8050 scrapinghub/splash
newgrp docker
sudo docker run -p 8050:8050 scrapinghub/splash
reboot
sudo docker run -p 8050:8050 scrapinghub/splash
docker run -p 8050:8050 scrapinghub/splash

Sunucumu da yeniden başlatmayı denediğimi görebilirsiniz, ancak yardımcı olmadı.

çıktısını görmek ps -aux | grep docker

root@mani:/var/www/html# ps aux | grep docker
root      8524  0.0  0.8 127904 13964 ?        Ssl  17:21   0:00 /usr/bin/dockerd --raw-logs
root      8534  0.0  0.3  90588  5012 ?        Ssl  17:21   0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc
root      8543  0.0  0.0   8812   764 pts/1    S+   17:21   0:00 grep --color=auto docker
root     16356  0.0  0.0  17200   964 pts/1    S    17:14   0:00 newgrp docker
root     20080  0.0  0.0  17200   964 pts/1    S    17:06   0:00 newgrp docker
root     30221  0.0  0.0  17200   964 pts/1    S    17:09   0:00 newgrp docker

Ps aux çalıştırırsanız | grep docker, daemon sürecinin çalıştığını görüyor musunuz?
Rome_Leader


@Rome_Leader sorumun çıktısını görüyor ...
Umair Ayub

3
şunu deneyin: sudo service docker restart
Haythem ROUIS

2
bunu kullanarak liman işçisi deamon durumunu görebilirsiniz: sudo service docker statusaktif olup olmadığını kontrol edin
Haythem ROUIS

Yanıtlar:


162

Bunu deneyebilirsiniz:

systemctl start docker

Benim için iyi çalıştı.

Not: sudo olmadan yapamayacağınız komutlar varsa, şunu deneyin:

gpasswd -a $USER docker

10
İlk komutu çalıştırıyorum, bir hata aldım: Failed to start docker.service: Unit docker.service is masked.Yani, aşağıdaki koşmak zorunda kaldım: systemctl unmask docker.service systemctl unmask docker.socket systemctl start docker.service
Chris Phan

50

Docker temiz kapanmazsa bu hatayı alabilirsiniz. Aşağıdaki yanıt docker ek paketi içindir.

Çalıştırın snap logs dockerve aşağıdakileri arayın:

Error starting daemon: pid file found, ensure docker is not running or delete /var/snap/docker/179/run/docker.pid

Bu dosyayı silmek ve docker'ı yeniden başlatmak benim için çalıştı.

rm /var/snap/docker/<your-version-number>/run/docker.pid
snap stop docker
snap start docker

Değiştirmeyi unutmayın <your-version-number>‍uygun sürüm numarası ile.


Bunun olmasını nasıl önleyebilirim? Bilgisayarımı her açışımda docker.pid dosyasını kaldırmam gerekiyor!
Hamidreza

47

Sadece koş

sudo dockerd

dockerd, docker kapsayıcıları için arka plan hizmetidir, çünkü arka planda çalışmadığından, yeniden başlatılması gereken hizmetle ilgili herhangi bir işlem yapamayız.


10
Benim için çalışan tek komut bu. Docker'ı çalıştırmak ve çalıştırmak için birinin bu kadar çok çemberin içinden atlamak zorunda olması saçma.
Homunculus Reticulli

3
Bana hata veriyorError starting daemon: Devices cgroup isn't mounted
Vine 'DEVIN' Dev

@fepegar Muhtemelen liman işçisini düzgün kurmuyorsunuz
Yash Pokar

@YashPokar gerçekten, yeniden yükleme sona erdi ve şimdi işler beklendiği gibi çalışıyor. Teşekkürler.
fepegar

Bir docker kapsayıcısını başlatmak için yalnızca bir docker kapsayıcısının içinde benim için çalışan komut. Kod oluştururken, kendi ortamımı oluştururken buna ihtiyacım var. :-)
Biz Borg

21

İlk olarak sudo ile deneyin , çünkü mevcut kullanıcının docker arka plan programı ile iletişim kurmak için erişim izinleri olmayabilir, yani /var/run/docker.sock

Hala çalışmıyorsa, kurulumdan sonra, docker daemon'unu durdurun,

$ sudo service docker stop

Ve arka plandaki arka plan programını başlatmak için aşağıdaki komutu çalıştırın,

$ sudo nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

Docker ile çalışmayı kolaylaştırmak için Docker kullanıcıları grubuna kullanıcı adınızı eklemeniz gerekir. Gruba bir kullanıcı eklemek aşağıdaki komutla yapılabilir

$ sudo usermod -aG docker $USER

Ayrıca, bu adım Linux için docker'ın Kurulum Sonrası adımlarının resmi belgelerinde belirtilmiştir ( https://docs.docker.com/engine/installation/linux/linux-postinstall/ )

Ubuntu 16.04 kullanıcıları , aşağıdaki adımları izleyebilirsiniz

/Lib/systemd/system/docker.service dosyasının içinde değişiklik: ExecStart = / usr / bin / dockerd fd: // ile ExecStart = / usr / bin / dockerd -H tcp: //0.0.0.0: 2375

İçinde dosya /etc/init.d/docker değişikliği:

DOCKER_OPTS = ile DOCKER_OPTS = "- H **** tcp: //0.0.0.0: 2375 "

ve ardından makinenizi yeniden başlatın. Ve docker ile oynamaya başlayın.


1
koşu sudo nohup docker daemon -H http://tcp://0.0.0.0:2375 () -H http://unix:///var/run/docker.sockverir bash: syntax error near unexpected token (''
Umair Ayub

1
Redhat linux kullanıyorum
Umair Ayub

Ah üzgünüm. Ekstra karakter (), güncellendi. Hangi RHEL sürümü? $ DOCKER_HOST ile aldığınız değeri kontrol edin?
mohan08p

$ sudo systemctl docker'ın önyükleme zamanında docker hizmetini başlatmasını sağlar.
mohan08p

Şimdi Docker'ı yüklemeye çalışıyorum CentOS Linux release 7.3.1611 (Core)... Ama şimdi hata Your Linux kernel version 2.6.32-042stab116.2 is not supported for running docker. Please upgrade your kernel to 3.10.0 or newer.... kullanarak çekirdeği güncelleyebilir miyim yum update kernel... ???? soru, sunucumdaki her şeyi silecek mi? onun üzerinde çalışan bir web sitesi ile canlı sunucular, ben bunu berbat istemiyorum.
Umair Ayub

9

Bu genellikle liman işçisini durdurmadıysanız olur.

Çözmek için

service docker stop
cd /var/run/docker/libcontainerd
rm -rf containerd/*
rm -f docker-containerd.pid
service docker start

ardından resminizi indirmek ve konteyneri her zamanki gibi başlatmak için "docker run ...."


8

Sadece ana dokümanlardan yeni bir DOCKER kurulumu yaptıktan sonra vurdum. Benim için sorun, kurulumdan hemen sonra, hizmetin çalışmıyor olmasıydı.

Bu komutlar, docker'ın onu bulması için çalıştığından emin olmak için çalışır:

$ sudo service --status-all 
$ sudo service docker start
$ sudo service docker start

7

Kök üzerinde çalışıyorum ve aşağıda denedim, işe yaradı:

service docker start

export DOCKER_HOST="tcp://0.0.0.0:2375"

3
Bu, ana makinenizde çalışıyorsa, etkili bir şekilde kök şifreniz yoktur. Bu bağlantı noktasına erişimi olan herkes, ana makinenizde root olarak komut çalıştırabilir.
BMitch

6

Docker kapattıktan sonra bu sorunu yaşadım bir konteyner çekecek docker pull mongo . İlk başta garip hatalar alıyordum, bu yüzden docker'ı temizledim sudo apt-get purge docker.iove yeniden kurdum sudo apt-get install docker.io... tüm bunlar hiçbir şey yapmadı. Merhaba dünya konteynerini bile çalıştıramadım. En azından benim için doğru düzeltme:

systemctl unmask docker.service
systemctl unmask docker.socket
systemctl start docker.service

Bundan sonra mongoyu çekip merhaba dünyayı yönetebilirdim.

Şerefe!


Bir Ubuntu üzerinde Sudo ile yapmak zorunda kaldım 18.04
Basanth


2

bunu ubuntu dışa aktarmada kullan DOCKER_HOST = tcp: // localhost: 2375


Bu sisteminizde çalışıyorsa, etkili bir şekilde root şifreniz yoktur. Bu bağlantı noktasına erişimi olan herkes ana bilgisayarda kök olarak komut çalıştırabilir.
BMitch

2

export DOCKER_HOST = tcp: // localhost: 2375 sudo erişimi olmayan ve kullanıcının unix'e erişimi olmayan herkes için mükemmeldir: ///var/run/docker.sock


Bu, normalde kök erişimine sahip olmayan, ancak ana makinenizde kolayca kök olmak isteyen herkes için de yararlıdır. Bu bağlantı noktasına erişimi olan herkes komutları root olarak çalıştırabilir.
BMitch

@Bakım özen göstermeli mi?
Fran Marzoa

@FranMarzoa güvenmediğiniz başka bir kullanıcıdan, hatta başka bir ana bilgisayardan, docker runkapsayıcıdaki kök kullanıcıyla, ayrıcalıklı, pid ve ağdaki ana bilgisayar ad alanlarıyla ve kök dosya sistemini kutuya monte ederek herhangi bir komutu çalıştırabilirsiniz .
BMitch

2

İleti göründüğünde AWS örneğinde docker (yeni yüklenen) çalıştırmaya çalışıyordum. Sadece yazarımsudo service docker start ve benim için iyi çalışıyor.

Ayrıca Docker ile AWS'ye bakın


2

resim açıklamasını buraya girin

Sadece Mac'imde Docker Masaüstü'nü çalıştırmayı unutuyorum, Docker Masaüstü'nü çalıştırdıktan sonra gitmek için iyi olacaksınız.


2

Bu istisna, docker servisi çalışmadığında veya oturum açmış kullanıcının docker'a erişim iznine sahip olmadığı ve genellikle RedHat'ta geldiğinde gelir

Aşağıdaki komutu kullanmak sorunu çözmelidir

sudo service docker start

resim açıklamasını buraya girin



1

Gitlab CI çalışan düğüm: lts görüntü için aynı sorunu vardı:

  • Docker arka plan programını yeniden başlattım ve konteyneri yeniden başlattım, benim için çalıştı.

1

Bu benim için çalıştı, Ubuntu 16 veya 18 kullanıyorsanız (14 de işe yarayabilir) sadece sizin için işe yarayabilir. Denemesi kolay:

Ubuntu Yazılımına gidin, Docker yazın. Önceden kurulmuşsa docker'ı (108 mb) kaldırın. Bağlantı birimini yükle Şimdi komutları çalıştırın ve aynı hatanın gelip gelmediğine bakın

Hata:

resim açıklamasını buraya girin

Yukarıdaki adımları yaptıktan sonra. resim açıklamasını buraya girin

Gördüğünüz gibi çalıştı :)


1

Yum (yum install docker) kullanarak docker yüklediğimde Linux'ta da aynı sorunla karşılaştım.

Çözüm: Docker Binary'yi resmi sitesinden indirin: Docker yükleyin , ambalajından çıkarın ve kurulum adımlarını izleyin.


1

Geçerli yanıtların hiçbiri bu hatanın sürümü için çalışmadı. Ubuntu 18'in masaüstü sürümünü kullanıyorum. Aşağıdaki iki komut sorunu çözdü.

sudo snap connect docker:home :home

sudo snap start docker


0

Benim için çözüm, doğru Docker paketini kurduğumdan emin olmaktı. Örneğin, Ubuntu için amortismana tabi paketler :

  • liman işçisi
  • liman işçisi-motor
  • docker.io
  • containerd
  • runc

Kurulum için https://docs.docker.com adresini kontrol edin . Yazma sırasında Ubuntu , CentOS , Debian ve Fedora için talimatlar verilmiştir .


Bazı adımları kaçırdınız: Repoyu imzalamak için bu bağlantıyı takip edin. medium.com/@sebagomez/…
Robert

@Robert, yukarıda PGP anahtarını almak için resmi docs.docker'a da başvuruyorum. Bu, bu siteden veya ortamdan kopyalayan kullanıcılardan daha güvenlidir.
RikH

Ubuntu adımlarını denedim ve bunlar çalışmıyor. İmzalama sürecine ve sağladığım bağlantıya ihtiyacınız var.
Robert

@Robert, teşekkürler eksik talimatlarımı kaldırdım ve bunun yerine sadece resmi belgelere bakın.
RikH

0

Bu yoldaki bilgilerin olduğundan emin olun /etc/docker/daemon.json

{
  "registry-mirror": [
    "https://registry.docker-cn.com"
  ],
  "insecure-registries": [
    "192.168.199.100:5000"
  ]
}

silmek

"insecure-registries": [
    "192.168.199.100:5000"
]

ve iyi çalışır resim açıklamasını buraya girin


0

Sabit sürücüde boş disk alanı kalmamış olabilir. Cihazda boş alan kaldığından emin olun, boş alan kalmazsa Docker başlatılamaz.


0

kullanım docker start <your_container_name>

Sonra kullanarak veritabanına bağlanın mssql -u <yourUsername> -p <yourPassword>

İlk adımda bir hata alırsanız, liman işçisi çalışır ve ikinci adımla devam eder.

Not: Mac'i birincil işletim sistemim olarak kullanıyorum ve bu Unix tabanlı işletim sistemleri için aynı yanıt olabilir. Değilse! Şimdiden özür dilerim.


0

Docker'ı kurduktan ve çalıştırdıktan sonra aşağıdaki hata mesajını da aldım: docker run hello-world

Docker arka plan programına unix: /var/run/docker.sock adresinden bağlanamıyor. Liman işçisi arka plan programı çalışıyor mu?

İşte benim için işe yarayan bir çözüm. Ortam - Windows 10 (Pencerelerde etkinleştirmeyi unutmayın: Ayarlar> Güncelleme ve Güvenlik> Geliştirici modu) - Ubuntu 18.04 LTS - Docker Desktop sürüm 2.3.0.2 (45183) - Docker Masaüstünde etkinleştir: localhost: TLS'siz 2375 - Docker Desktop da çalışıyor olmalı (Docker Hub'a bağlı ... sadece giriş yapın)

Ubuntu'yu kurduktan sonra, depoyu güncelleyin

sudo uygun-güncelleme

HTTPS üzerinden bir depo kullanmak için

sudo apt-get install \ apt-transport-https \ ca-sertifikalar \ curl \ gnupg-agent \ yazılım-özellikler-ortak

Resmi Docker GPG anahtarını ekleyin:

kıvırmak -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key ekleme -

Artık parmak izi ile anahtarınız olduğundan emin olun

sudo apt-key parmak izi 0EBFCD88

Depoyu güncelleyin

sudo uygun-güncelleme

Docker deposunu güncelleme

sudo add-apt-repository \ "deb [arch = amd64] https://download.docker.com/linux/ubuntu \ $ (lsb_release -cs) \ kararlı"

Havuzu tekrar güncelleyin

sudo uygun-güncelleme

Docker'ı sürümde kurma komutu: 5: 18.09.9 ~ 3-0 ~ ubuntu-bionic

sudo uygun-almak yüklemek docker-ce = 5: 18.09.9 ~ 3-0 ~ ubuntu-biyonik docker-ce-cli = 5: 18.09.9 ~ 3-0 ~ ubuntu-biyonik containerd.io

DOCKER_HOST ayarlama komutu

dışa aktar DOCKER_HOST = "tcp: //0.0.0.0: 2375"

Not: ubunto ex: echo "export DOCKER_HOST = 'tcp: //0.0.0.0: 2375'" >> ~ / .bashrc ile başlamak için yukarıdaki komutu profilinize koyun

Docker grubuna kullanıcı ekle

sudo usermod -aG docker $ USER

Ubuntu'yu yeniden başlat

(Ubuntu penceresini tekrar kapatıp açın)

Kurulumu test etme (docker komutlarından önce daha fazla sudo KULLANMAYIN (hata verir), kullanıcı "root" docker grubuna zaten dahil edilmiştir)

docker çalıştırmak merhaba dünya

Aşağıdaki mesaj görüntülenmelidir

Docker'dan merhaba! Bu mesaj, kurulumunuzun düzgün çalıştığını gösteriyor.

Not: başarısız olursa, komutu tekrar çalıştırın: export DOCKER_HOST = "tcp: //0.0.0.0: 2375"

dışa aktar DOCKER_HOST = "tcp: //0.0.0.0: 2375"

Referans: https://docs.docker.com/engine/install/ubuntu/ Oturum: DOCKER MOTORUNU TAKIN

Ubuntu ile kurulabilen docker'ın diğer sürümleri için, aşağıdaki komutu kullanarak depoya bakın:

apt-cache madison docker-ce

Ardından docker'ın istenen sürümünü yükleyin:

sudo uygun-get install docker-ce = docker-ce-cli = containerd.io


0

Kurulum sırasında Docker ile sorun yaşayan herkes için.

Docker hizmetindeki bir hatayı gösteren bir hata, aşağıdaki komutları yapın.

$ sudo apt update

$ sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

$ sudo apt update

$ apt-cache policy docker-ce

$ sudo apt install docker-ce

-1

Bu sorun 1 çalıştırılarak kalıcı olarak çözülebilir. Systemctl docker 2'yi etkinleştirin.


service start dockerBilgisayarı her yeniden başlattığımda liman hizmetini başlatmam gerekiyor gibi görünüyor .
Pran Kumar Sarkar

@PranKumarSarkar "sudo systemctl enable docker" komutunu çalıştırırsanız değil
GabrielBB
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.