Я применил все решения, доступные в Интернете, но все еще не могу запустить Docker.

Я хочу использовать Scrapy Splash на своем сервере.

Вот история команд, которые я выполнял.

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

Как видите, я тоже пытался перезапустить свой сервер, но это не помогло.

см. Вывод 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

Ответы (41)

Это могло быть связано с тем, что на жестком диске не осталось места на диске. Убедитесь, что на устройстве осталось свободное место, Docker не сможет запуститься, если на нем не останется свободного места.

Думаю, если вы используете WSL с графическим интерфейсом, то можете просто попробовать

sudo /etc/init.d/docker start

У меня была такая же проблема. В моем случае виновником был VPN. Отключение VPN помогло с успешной установкой.

Я запускаю root и пробовал ниже, это сработало:

service docker start

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

Эту проблему можно окончательно решить, запустив 1. systemctl включить докер 2. запуск докера службы

У меня была эта проблема, когда докер запускался после запуска моего терминала. Проблема была решена перезапуском терминала или процесса, на котором размещен терминал (например, vscode).

У меня была такая же проблема с запущенным узлом gitlab CI: lts image:

  • Я только что перезапустил демон докера и перезапустил контейнер, у меня это сработало.

Я только что сделал это после новой установки DOCKER из основной документации. Для меня проблема заключалась в том, что сразу после установки служба не запускалась.

Эти команды помогут вам убедиться, что докер запущен и работает, чтобы ваша команда запуска могла его найти:

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

вот решение, которое у меня работает в Linux

systemctl start docker.

Для всех, у кого возникли проблемы с Docker на момент установки.

Ошибка, указывающая на сбой в службе докеров, выполните следующие команды.

$ 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

Просто беги

sudo dockerd

dockerd - это служба демона для контейнеров докеров, поскольку она не работает в фоновом режиме, мы не можем предпринимать никаких действий, связанных со службой, которую необходимо перезапустить.

Я пытался запустить докер (только что установленный) в экземпляре AWS, когда появилось сообщение. Я просто пишу sudo service docker start и у меня отлично работает.

См. Также AWS с Docker

Если вы пытаетесь установить докер с подсистемой wsl 2 linux в windows Пожалуйста, прочтите этот документ https://docs.docker.com/docker-for-windows/wsl/ и проверьте, выполняется ли эта команда

wsl.exe --set-version (distro name) 2

и проверьте в докере вашей ОС Windows-> настройки-> Ресурсы-> Включить интеграцию с дополнительными дистрибутивами: проверены и перезапущены

Просто добавляю в базу знаний. Я нашел это видео полезным. У меня нет определений DOCKER_HOST. У меня есть /etc/wsl.conf, в котором есть:

[automount]
root = /
options = "metadata"

После нескольких перезапусков docker hello-world сработал.

Для меня решением было просто убедиться, что я установил правильный пакет Docker. Например, для Ubuntu устаревшие пакеты:

  • докер
  • докер-движок
  • docker.io
  • контейнерd
  • runc

Для проверки установки https://docs.docker.com. Инструкции предоставляются для Ubuntu, CentOS, Debian и Fedora на момент написания.

Ни один из текущих ответов не помог моей версии этой ошибки. Я использую настольную версию Ubuntu 18. Следующие две команды устранили проблему.

sudo snap connect docker: home: home

sudo snap start docker

Это обычно происходило, если вы наверное еще не остановили докер.

Разрешить

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

затем «docker run ....», чтобы загрузить образ и запустить контейнер как обычно

• 100001

На момент написания этой статьи в этом замечательном руководстве упоминается необходимость перезагрузки RPi, но только после установки «Пользователь без полномочий root в группу Docker».

HTH, если кто-то пропустит это, как я ..

Вы можете получить эту ошибку, если докер не завершил работу корректно. Следующий ответ относится к пакету docker snap.

Запустите окно настройки журналов моментальных снимков и найдите следующее:

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

У меня сработало удаление этого файла и перезапуск докера.

rm /var/snap/docker//run/docker.pid
snap stop docker
snap start docker

Не забудьте заменить ‍‍‍‍<номер-версии> ‍ на соответствующий номер версии.

Использовать запуск докеры <имя_вашего_контейнера>

Затем подключитесь к базе данных, используя mssql -u <ваше имя пользователя> -p <ваш пароль>

Если вы получили ошибку на первом шаге, значит, докер запущен и перейдите на второй шаг.

Примечание: я использую Mac в качестве основной ОС, и это может быть тот же ответ для ОС на базе Unix. Если не! Заранее извините.

Вы можете попробовать это:

systemctl start docker

У меня все сработало.

P.S .: после, если есть команды, с которыми нельзя обойтись без sudo, попробуйте следующее:

gpasswd -a $USER docker

Сначала попробуйте с sudo, так как текущий пользователь может не иметь прав доступа для связи с демоном докеров, т.е. / var / run / docker.sock

Если он по-прежнему не работает, то после установки просто остановите демон docker как,

$ sudo service docker stop

И выполните следующую команду, чтобы запустить демон в фоновом режиме,

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

Чтобы упростить работу с Docker, вам следует добавить свое имя пользователя в группа пользователей Docker. Добавить пользователя в группу можно с помощью команда ниже

$ sudo usermod -aG docker $USER

Также этот шаг упоминается в официальной документации docker Пост-установочные шаги для Linux (https://docs.docker.com/engine/installation/linux/linux-postinstall/)

Пользователи Ubuntu 16.04 могут выполнить следующие действия,

Внутренний файл / lib / systemd / system / docker.service изменение: ExecStart = / usr / bin / dockerd fd: // с участием ExecStart = / usr / bin / dockerd -H tcp: //0.0.0.0: 2375

Внутри файла / etc / init.d / docker изменить:

DOCKER_OPTS = с участием DOCKER_OPTS = "- H **** tcp: //0.0.0.0: 2375 "

, а затем перезагрузите компьютер. И начинаем играть с докером.

Make sure information in this path /etc/docker/daemon.json

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

delete

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

and runs well enter image description here

export DOCKER_HOST = tcp: // localhost: 2375 идеально подходит для тех, у кого нет доступа к sudo и у пользователя нет доступа к unix: ///var/run/docker.sock

используйте это в ubuntu экспорт DOCKER_HOST = tcp: // localhost: 2375

Я столкнулся с той же проблемой в Linux, когда установил докер с помощью yum (yum install docker).

Разрешение: загрузите бинарный файл docker с официального сайта: docker install, распакуйте и следуйте инструкциям по установке.

Это сработало для меня, это может сработать для вас, если вы используете Ubuntu 16 или 18 (14 также может работать). Легко попробовать:

Зайдите в Ubuntu Software, введите Docker. Удалите docker (108 мб), если он там предустановлен. Установить докер Теперь запустите команды и посмотрите, появляется ли такая же ошибка

Ошибка:

enter image description here

После выполнения вышеуказанных шагов. enter image description here

Как видите, заработало :)

I also received the error message below, after installing the docker and running: docker run hello-world #Cannot connect to the Docker daemon at unix: /var/run/docker.sock. Is the docker daemon running?

Here's a solution, what worked for me. Environment

  • Windows 10 (Don't forget to enable on windows: Settings> Update and Security> Developer mode)
  • Ubuntu 18.04 LTS
  • Docker Desktop version 2.3.0.2 (45183)
    • Enable in Docker Desktop: Expose daemon on tcp: // localhost: 2375 without TLS
    • Docker Desktop must also be running (connected to Docker Hub ... just log in)

After installing ubuntu, update the repository

sudo apt-get update

To use a repository over HTTPS

sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

Add the official Docker GPG key:

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

Make sure you now have the key with the fingerprint

sudo apt-key fingerprint 0EBFCD88

Update the repository

sudo apt-get update

Update the docker repository

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

Update the repository again

sudo apt-get update

Command to install the docker in version: 5: 18.09.9 ~ 3-0 ~ ubuntu-bionic

sudo apt-get install docker-ce = 5: 18.09.9 ~ 3-0 ~ ubuntu-bionic docker-ce-cli = 5: 18.09.9 ~ 3-0 ~ ubuntu-bionic containerd.io

Command to set the DOCKER_HOST

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

Note: put the command above in your profile to start with the ubunto ex: echo "export DOCKER_HOST="tcp://0.0.0.0:2375"" >> ~/.bashrc

Add user to the docker group

sudo usermod -aG docker $USER

Restart ubuntu

(Close and open the ubuntu window again) or run:

source ~/.bashrc

Testing the installation (DO NOT use more sudo before docker commands (it will give an error), the user "root" has already been included in the docker group)

docker run hello-world

The message below should be displayed

Hello from Docker! This message shows that your installation appears to be working correctly.

Note: if it fails, run the command again:

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

Reference: https://docs.docker.com/engine/install/ubuntu/ Session: INSTALL DOCKER ENGINE

#For other versions of the docker that can be installed with ubuntu, see the repository using the command below: apt-cache madison docker-ce

Then install the desired version of the docker:

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

enter image description here

Я просто забыл запустить Docker Desktop на моем Mac, после запуска Docker Desktop вам будет хорошо.

Это исключение возникает, когда служба докера не запущена или вошедший в систему пользователь не имеет разрешения на доступ к докеру, и обычно это происходит в RedHat

Использование приведенной ниже команды должно решить проблему

запуск докера службы sudo

enter image description here

У меня была эта проблема после закрытия докера, который вытянет контейнер докер потянет монго. Сначала у меня были странные ошибки, поэтому я очистил docker sudo apt-get purge docker.io и переустановил sudo apt-get install docker.io... все это ничего не дало. Я даже не мог запустить контейнер hello-world. По крайней мере, правильное исправление для меня было:

systemctl демаскировать docker.service
systemctl демаскировать docker.socket
systemctl start docker.service

После этого я мог бы вытащить mongo и запустить hello world.

Ура!

I installed docker from snap repository. So I also had to start from snap (running Ubuntu).

sudo snap start docker

Otherwise you can also install it from their repositories.

Простой способ решить эту проблему, попробуйте это

sudo su
systemctl start docker
systemctl enable docker
systemctl restart docker

У меня сработало:

sudo systemctl unmask docker
sudo systemctl start docker

Просто перезагрузка системы у меня сработала. Возможно, это временная проблема

В корневом режиме выполните команду systemctl start docker

И после этого вы можете проверить статус, запустив systemctl status docker

У меня отлично работает ..!

перезапуск сервисного докера

Это может быть немного поздно для вас, но надеюсь, что это поможет кому-нибудь сориентироваться в джунглях докеров. Проблема может быть связана с проблемой привязки порта tcp проверьте, существует ли этот файл

/ и т.д. / systemd / system / docker.service.d

это файл переопределения для прослушивания сокетов UNIX по умолчанию. На самом деле файл может быть пустым, но я считаю, что тот факт, что он существует, иногда вызывает некоторые головные боли, подобные тому, с чем вы столкнулись. если он существует 1. то 2. если не сразу перейти к 2.

1. $ sudo rm -rf /etc/systemd/system/docker.service.d

2. $ sudo systemctl deamon-reload

Я считаю, что некоторые из приведенных здесь рекомендаций упускают из виду ошибку реального демона, который не может загрузить

Хороший друг при игре с докером

$ systemctl status docker.service

I didn't see this solution mentioned, so I'll post it in case it might help someone. I was running into this error on my MacOS machine. The reason was that I had the DOCKER_HOST environment variable set in my dotfiles. Unsetting it through unset DOCKER_HOST did the trick. I found the tip in the official docker for Mac documentation: https://docs.docker.com/desktop/mac/troubleshoot/#workarounds-for-common-problems.

если вы используете MAC, просто введите docker в поисковике, он разрешится автоматически.

Бывает из-за того, что докер еще не запущен.

Пожалуйста, проверьте статус докера

$ sudo systemctl status docker

Затем запускаем и включаем докер и перепроверяем статус

$ sudo systemctl start docker && sudo systemctl enable docker && sudo systemctl status docker

Вот и все. Теперь последний шаг проверки докера работает нормально

$ sudo docker run hello-world

2022 WebDevInsider