Docker shim error on CentOS 7

If systemd says “disabled”, you have multiple options

  • systemctl enable docker
  • SELinux is causing fun
  • this is a meta unit which is disabled. The real service is named differently. You can see that for example with Elasticsearch, where the service unit files are named differently for each cluster instance.

Let’s do this in a CentOS Vagrant VM (actually, it is icinga-vagrant/icinga2x with a stopped httpd)

yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

yum -y install docker-ce

systemctl enable docker.service
systemctl start docker.service

git clone https://github.com/discourse/discourse_docker /var/discourse
cd /var/discourse

./discourse-setup
<enter all the time, let it fail at the end with the defaults, I have special requirements here>

Bootstrap afterwards works then.

[root@icinga2 discourse]# ./launcher bootstrap app
which: no docker.io in (/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/root/bin)

WARNING: We are about to start downloading the Discourse base image
This process may take anywhere between a few minutes to an hour, depending on your network speed

Please be patient

This also works for me with setenforce 1 as the Docker package installs an SELinux policy.

So this somehow seems to be related to the missing enable/start step on CentOS. No need for a migration run to Ubuntu imho.