Centos 7 安装Docker后启动失败,提示:Failed to start docker.service: Unit not found.

在Centos 7 安装Docker后启动失败(新的服务器系统),提示:Failed to start docker.service: Unit not found.
百度后得知需在 /usr/lib/systemd/system 下创建 docker.socket 文件,并写入:

[Unit]
Description=Docker Socket for the API
PartOf=docker.service

[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker

[Install]
WantedBy=sockets.target

但创建后仍然无法启动,提示:Failed to start docker.service: Unit not found.,换另一种方式:

卸载现有版本Docker:
yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine

之后重装Docker,启动完成,注意到原来的/usr/lib/systemd/system目录下没有docker.socket与docker.service文件,重装后docker.service文件出现

想知道为什么第一种方案不可以,如果下次遇到这种问题除了卸载重装还有没有新的办法,万分感谢!

你这个应该是版本问题,重新安装的时候,由于要保留自定义的一些Docker配置,所以在升级后,使用原来的/usr/lib/systemd/system/docker.service覆盖了新的docker.service。但是在旧版本中,docker.service的[UNIT]里规定了Requires=docker.socket,也就是说,docker.service默认依赖于docker.socket,因为需要使用docker.socket来获取容器的信息。而在新版本已经不再依赖于docker.socket了,所以系统里没有docker.socket,如果继续使用原来的docker.service,在启动的时候,就会出错。