Docker shim error on CentOS 7

Hmmm. It seems that docker is actually a script which performs a lookup for possible paths. But only on RHEL/CentOS 7 where this comes from the RHEL repositories.

I don’t have /usr/bin/docker-current here.

[root@icinga2 ~]# docker -v
Docker version 17.12.0-ce, build c97c6d6
[root@icinga2 ~]# ps aux | grep docker
root     20688  0.9  1.9 542268 35964 ?        Ssl  20:56   0:37 /usr/bin/dockerd
root     20693  0.7  1.2 366356 22872 ?        Ssl  20:56   0:29 docker-containerd --config /var/run/docker/containerd/containerd.toml
root     29081  0.0  0.0 112668   944 pts/0    S+   22:05   0:00 grep --color=auto docker

Systemd starts dockerd here, you can see that from the service file in /lib/systemd/system/docker.service:

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

Do you have any other occurrences of a Systemd service file for docker, e.g. in /etc/systemd?

Anyhow, I’d suggest to start “fresh”. Purge anything which has docker in its name from the system

yum remove docker \
                  docker-common \
                  docker-selinux \
                  docker-engine

find /etc/systemd -name '*docker*' -exec rm -f {} \;
find /lib/systemd -name '*docker*' -exec rm -f {} \;

and go for installing it using this guide again.