Ubuntu 18.04
Ядро 4.15.0-39-универсальный x86_64 GNU/Linux
То, что я пытаюсь заархивировать, должно заставить докера открывать сокет TCP на IP 192.168.2.11.
systemctl edit docker
Это - то, как мой/etc/systemd/system/docker.service.d/.#override.conf смотрит как.
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://192.168.2.11:2375
systemctl restart docker
Я получаю следующую ошибку:
-- Unit docker.service has finished shutting down.
Nov 15 09:45:35 docker systemd[1]: Starting Docker Application Container Engine...
-- Subject: Unit docker.service has begun start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit docker.service has begun starting up.
Nov 15 09:45:35 docker dockerd[27753]: Failed to load listeners: can't create unix socket /var/run/docker.sock: is a directory
Nov 15 09:45:35 docker systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Nov 15 09:45:35 docker systemd[1]: docker.service: Failed with result 'exit-code'.
Nov 15 09:45:35 docker systemd[1]: Failed to start Docker Application Container Engine.
-- Subject: Unit docker.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit docker.service has failed.
--
-- The result is RESULT.
Я провожу около часа, пытаясь понять, почему, и это моя собственная ошибка - не читать сообщение об ошибке. в сообщении об ошибке четко говорится, что
не может создать сокет Unix /var/run/docker.sock: это каталог
, первое, что я делаю, это чтобы войти корень. (именно так я предпочитаю этого не делать, если вам не нравится работать таким образом. Просто добавьте sudo перед всеми командами)
sudo su
Я проверяю путь, используя следующую команду.
ls -la /var/run/docker.sock
Это показывает, что путь на самом деле является каталогом . Поэтому я удаляю каталог
rm -fr /var/run/docker.sock
, затем перезапускаю docker.service
systemctl edit docker
Docker запускается, и вывод docker статуса systemctl все в порядке.
Заключение: если вы получили это сообщение об ошибке и запустили ls на docker.sock, оно не выглядит так. затем удалите каталог и перезапустите докер.
ls -la /var/run/docker.sock
srw-rw---- 1 root docker 0 Nov 15 09:47 /var/run/docker.sock