有一天,我在Debian Jessie系统上修补了Docker,无法使用systemd启动docker守护进程。 但是,如果使用sudo dockerd命令启动它, sudo dockerd守护程序会正常运行。
这是我用来启动它的systemd命令:
tom@vincent:/tmp$ sudo systemctl start docker.service Job for docker.service failed. See 'systemctl status docker.service' and 'journalctl -xn' for details.
这是我从状态命令中得到的:
tom@vincent:/tmp$ sudo systemctl status docker.service ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled) Drop-In: /etc/systemd/system/docker.service.d └─service-overrides.conf Active: failed (Result: start-limit) since Mon 2017-07-03 11:34:28 CDT; 8s ago Docs: https://docs.docker.com Process: 3958 ExecStart=/usr/bin/docker daemon $OPTIONS $DOCKER_STORAGE_OPTIONS (code=exited, status=1/FAILURE) Main PID: 3958 (code=exited, status=1/FAILURE) Jul 03 11:34:28 vincent systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE Jul 03 11:34:28 vincent systemd[1]: Failed to start Docker Application Container Engine. Jul 03 11:34:28 vincent systemd[1]: Unit docker.service entered failed state. Jul 03 11:34:28 vincent systemd[1]: docker.service holdoff time over, scheduling restart. Jul 03 11:34:28 vincent systemd[1]: Stopping Docker Application Container Engine... Jul 03 11:34:28 vincent systemd[1]: Starting Docker Application Container Engine... Jul 03 11:34:28 vincent systemd[1]: docker.service start request repeated too quickly, refusing to start. Jul 03 11:34:28 vincent systemd[1]: Failed to start Docker Application Container Engine. Jul 03 11:34:28 vincent systemd[1]: Unit docker.service entered failed state.
ExecStart系列脱颖而出。 它似乎尝试使用以下命令启动docker守护进程:
/usr/bin/docker daemon $OPTIONS $DOCKER_STORAGE_OPTIONS
这将失败。 在这一点上,我认为,不知怎的,我的systemd脚本与我的包不同步,所以我用systemctl cat docker.service命令查看了我的启动脚本。 但是,这是该脚本中的ExecStart命令:
ExecStart=/usr/bin/dockerd -H fd://
这对我来说有点混乱,因为我是systemd的新手。 cat命令中的ExecStart命令是否与我在status命令中看到的命令相匹配,还是我在错误的地方查找问题?