Two main issues with the docker snap on Fedora 29:
On Fedora 29 the default aufs storage driver causes the docker daemon to not start.
Apr 16 19:16:26 clin3 docker.dockerd: Error starting daemon: error initializing graphdriver: driver not supported
Apr 16 19:16:26 clin3 docker.dockerd: time=“2019-04-16T19:16:26.153732655-05:00” level=debug msg=“Cleaning up old mountid : start.”
Apr 16 19:16:26 clin3 docker.dockerd: time=“2019-04-16T19:16:26.153332226-05:00” level=error msg=“AUFS was not found in /proc/filesystems” storage-driver=aufs
Apr 16 19:16:26 clin3 docker.dockerd: time=“2019-04-16T19:16:26.152424506-05:00” level=debug msg=“processing event stream” module=libcontainerd namespace=plugins.moby
Apr 16 19:16:26 clin3 docker.dockerd: time=“2019-04-16T19:16:26.152086821-05:00” level=debug msg="[graphdriver] trying provided driver: aufs"
Edit /var/snap/docker/current/config/daemon.json and change storage-driver to overlay2
sudo snap start docker
This is not ideal because these config files are not meant to be altered in this location with snaps.
EDIT: My original statement is not correct. It is fine to edit configuration files in $SNAP_DATA. The better reason for fixing this is just to provide a better out of the box experience for Fedora users going forward.
SELinux is preventing the docker daemon from functioning properly.
Basically if you review the audit log you will see that SELinux is denying many functions of the docker daemon as it starts. These problems put the docker daemon in a bad state where it will not respond to docker-cli commands. Putting SELinux in permissive mode, then starting the daemon (
sudo snap start docker), and then putting SELinux back into enforcement mode (after the daemon has successfully started and is running) does seem to fix the issue. However, it is a pain to do this every time and is not an ideal state for this distro.
Basically I want to help resolve these issues where possible. Let me know if more information is required.