I had the exact same symptoms as devintcreation, but with a slightly different ExecStart value, and thus needed the same solution, just in a different location. The above answer pushed me in the right direction.
My systemctl status docker was:
× docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2023-04-19 15:20:34 AEST; 24s ago
TriggeredBy: × docker.socket
Docs: https://docs.docker.com
Process: 3846 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
Main PID: 3846 (code=exited, status=1/FAILURE)
CPU: 86ms
Apr 19 15:20:34 docker-01 systemd[1]: docker.service: Scheduled restart job, restart counter is at 3.
Apr 19 15:20:34 docker-01 systemd[1]: Stopped Docker Application Container Engine.
Apr 19 15:20:34 docker-01 systemd[1]: docker.service: Start request repeated too quickly.
Apr 19 15:20:34 docker-01 systemd[1]: docker.service: Failed with result 'exit-code'.
Apr 19 15:20:34 docker-01 systemd[1]: Failed to start Docker Application Container Engine.
The difference being in the Process line where I had not edited the ExecStart line at all.
I had done the Docker home location change in a daemon.json file in /etc/docker/.
In my /etc/docker/daemon.json I had:
{
"graph": "/docker"
}
I believe this is the daemon.json equivalent to “-g” or “–graph” which is mentioned in the release notes.
When I changed “graph” to “data-root” docker started right up.
So, my /etc/docker/daemon.json in a working configuration is:
{
"data-root": "/docker"
}
I did not need to edit the /usr/lib/systemd/system/docker.service at all in my situation.
For reference my Server: Docker Engine - Community version is 23.0.4.