From 23222418fa5164f81efa5d03442414afd7972cea Mon Sep 17 00:00:00 2001 From: Vuong Hoang Date: Sun, 26 Apr 2026 13:53:48 -0700 Subject: [PATCH] playbooks/upgrade-docker-ce: add daemon-reload after package swap Docker's official package installs dockerd at /usr/bin/dockerd; the Debian docker.io package put it at /usr/sbin/dockerd. After the apt swap, the new docker.service unit file is on disk with the right path, but systemd's cached unit still has the OLD ExecStart pointing at /usr/sbin/dockerd. Daemon start fails with: status=203/EXEC "No such file or directory" Fix is systemctl daemon-reload between install and start. nh3-docker hit this; adding the step so esh-docker-vm and ana-docker don't. --- playbooks/upgrade-docker-ce.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/playbooks/upgrade-docker-ce.yaml b/playbooks/upgrade-docker-ce.yaml index 7542280..c1d4e25 100644 --- a/playbooks/upgrade-docker-ce.yaml +++ b/playbooks/upgrade-docker-ce.yaml @@ -126,6 +126,13 @@ steps: shell: DEBIAN_FRONTEND=noninteractive apt-get install -y {{ pkgs_to_install }} sudo: true + - name: systemctl daemon-reload (CRITICAL — package swap put dockerd at + /usr/bin/dockerd; without reload, systemd keeps the old unit's + ExecStart pointing at /usr/sbin/dockerd from docker.io and fails + with status=203/EXEC "No such file or directory") + shell: systemctl daemon-reload + sudo: true + - name: Enable + start the new daemon (idempotent) shell: systemctl enable --now docker sudo: true