警告:停止 docker.service,但它仍然可以通过:docker.socket 激活

6 debian vps docker

我已经重新安装了 Docker。当我尝试启动 Docker 时,一切正常:

# /etc/init.d/docker start
[ ok ] Starting docker (via systemctl): docker.service.
Run Code Online (Sandbox Code Playgroud)

直到我想停止 Docker 服务并多次重新启动它:

# /etc/init.d/docker stop

[....] Stopping docker (via systemctl): docker.serviceWarning: Stopping docker.service, but it can still be activated by:
  docker.socket
. ok 
Run Code Online (Sandbox Code Playgroud)

最后,我有错误:

# /etc/init.d/docker start
[....] Starting docker (via systemctl): docker.serviceJob for docker.service failed.
See "systemctl status docker.service" and "journalctl -xe" for details.
 failed!

# systemctl status docker.service
? docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: failed (Result: start-limit-hit) since Sat 2017-11-25 20:04:20 CET; 2min 4s ago
     Docs: https://docs.docker.com
  Process: 12845 ExecStart=/usr/bin/dockerd -H fd:// (code=exited, status=0/SUCCESS)
 Main PID: 12845 (code=exited, status=0/SUCCESS)
      CPU: 326ms

Nov 25 20:04:18 example.com systemd[1]: Started Docker Application Container Engine.
Nov 25 20:04:18 example.com dockerd[12845]: time="2017-11-25T20:04:18.191949863+01:00" level=inf
Nov 25 20:04:19 example.com systemd[1]: Stopping Docker Application Container Engine...
Nov 25 20:04:19 example.com dockerd[12845]: time="2017-11-25T20:04:19.368990531+01:00" level=inf
Nov 25 20:04:19 example.com dockerd[12845]: time="2017-11-25T20:04:19.37953454+01:00" level=info
Nov 25 20:04:20 example.com systemd[1]: Stopped Docker Application Container Engine.
Nov 25 20:04:21 example.com systemd[1]: docker.service: Start request repeated too quickly.
Nov 25 20:04:21 example.com systemd[1]: Failed to start Docker Application Container Engine.
Nov 25 20:04:21 example.com systemd[1]: docker.service: Unit entered failed state.
Nov 25 20:04:21 example.com systemd[1]: docker.service: Failed with result 'start-limit-hit'.
Run Code Online (Sandbox Code Playgroud)

我已经在 Debian 9 Stretch 上安装了 Docker。

任何人都可以帮助我摆脱此警告并解决错误“因结果 'start-limit-hit' 而失败”?

tuh*_*n47 17

如果 docker 由套接字触发,只需启动和停止套接字

sudo systemctl stop docker.socket
Run Code Online (Sandbox Code Playgroud)


cpu*_*y83 7

这是因为除了docker.service单元文件之外,还有一个docker.socket单元文件……这是用于套接字激活的。警告意味着如果您在 docker 服务未运行时尝试连接到 docker 套接字,那么 systemd 将自动为您启动 docker。您可以通过删除/lib/systemd/system/docker.socket...来摆脱这一点,您可能还需要-H fd://docker.service单元文件中删除。