Docker daemon won't start after upgrading to F35

Since upgrading to F35 I’ve found that the docker daemon won’t start.

journalctl -xeu docker.service produces the following:

Dec 10 20:34:45 picard systemd[1]: Stopped Docker Application Container Engine.
░░ Subject: A stop job for unit docker.service has finished
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ A stop job for unit docker.service has finished.
░░ 
░░ The job identifier is 891766 and the job result is done.
Dec 10 20:34:45 picard systemd[1]: docker.service: Start request repeated too q>
Dec 10 20:34:45 picard systemd[1]: docker.service: Failed with result 'exit-cod>
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ The unit docker.service has entered the 'failed' state with result 'exit-cod>
Dec 10 20:34:45 picard systemd[1]: Failed to start Docker Application Container>
░░ Subject: A start job for unit docker.service has failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ A start job for unit docker.service has finished with a failure.
░░ 
░░ The job identifier is 891766 and the job result is failed.

When I start docker manually from the CLI by simply typing dockerd with no arguments, it works. But in /usr/lib/systemd/system/docker.service I see that systemd is starting docker with /usr/bin/dockerd --host=fd:// --exec-opt native.cgroupdriver=systemd $OPTIONS. And I found that /usr/bin/dockerd --host=fd:// produces the following output:

INFO[2021-12-10T20:37:43.619764372-05:00] Starting up                                  
failed to load listeners: no sockets found via socket activation: make sure the service was started by systemd

So it seems that the option --host=fd:// specified in docker.service might be triggering the problem somehow. But I’m not sure what this option does. Have others run into this problem?

Did you see this:
How does docker-tcp.socket actually enable Docker’s remote API on CoreOS – iTecTec

I didn’t see that. It answers the question of what --host=fd:// is supposed to do. But I’m still not sure why Docker won’t run when started by systemd.

Is there a way to get Docker (or any other systemd service, for that matter) to produce more helpful error messages than the simple “Failed with result ‘exit-code’”?

Try parameter -D , --debug

I added --debug to the OPTIONS variable in /etc/sysconfig/docker. But even with that, I see no additional information in the output. I’ve seen this with other programs too. It seems that systemctl and/or journald are dropping most of the log messages. Is there an option for systemctl/journald to address this?

What does the boot-log say:
sudo sed $'s/\^\[/\E/g' /var/log/boot.log |more

That command produces no output.

Also I see that /var/log/boot.log is an empty file.

Could you please give us more info’s as :

inxi -Fzx in terminal and post the output as </> Preformatted text here.

Here’s the output from inxi -Fzx:

System:
  Kernel: 5.15.4-201.fc35.x86_64 x86_64 bits: 64 compiler: gcc 
  v: 2.37-10.fc35 Desktop: GNOME 41.1 
  Distro: Fedora release 35 (Thirty Five) 
Machine:
  Type: Laptop System: Apple product: MacBookAir6,1 v: 1.0 serial: <filter> 
  Mobo: Apple model: Mac-35C1E88140C3E6CF v: MacBookAir6,1 serial: <filter> 
  UEFI: Apple v: 432.40.8.0.1 date: 09/16/2021 
Battery:
  ID-1: BAT0 charge: 17.5 Wh (89.3%) condition: 19.6/37.5 Wh (52.1%) 
  volts: 8.3 min: 7.5 model: SMP BQ20Z451 status: Full 
CPU:
  Info: Dual Core model: Intel Core i7-4650U bits: 64 type: MT MCP 
  arch: Haswell rev: 1 cache: L2: 4 MiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 18400 
  Speed: 800 MHz min/max: 800/3300 MHz Core speeds (MHz): 1: 800 2: 801 
  3: 950 4: 845 
Graphics:
  Device-1: Intel Haswell-ULT Integrated Graphics vendor: Apple driver: i915 
  v: kernel bus-ID: 00:02.0 
  Display: wayland server: X.Org 1.21.1.3 compositor: gnome-shell driver: 
  loaded: intel resolution: 1366x768~60Hz 
  OpenGL: renderer: Mesa Intel HD Graphics 5000 (HSW GT3) v: 4.6 Mesa 21.2.5 
  direct render: Yes 
Audio:
  Device-1: Intel Haswell-ULT HD Audio vendor: Apple driver: snd_hda_intel 
  v: kernel bus-ID: 00:03.0 
  Device-2: Intel 8 Series HD Audio driver: snd_hda_intel v: kernel 
  bus-ID: 00:1b.0 
  Device-3: Broadcom 720p FaceTime HD Camera driver: N/A bus-ID: 02:00.0 
  Sound Server-1: ALSA v: k5.15.4-201.fc35.x86_64 running: yes 
  Sound Server-2: PulseAudio v: 15.0 running: no 
  Sound Server-3: PipeWire v: 0.3.40 running: yes 
Network:
  Device-1: Broadcom BCM4360 802.11ac Wireless Network Adapter vendor: Apple 
  driver: wl v: kernel port: efa0 bus-ID: 03:00.0 
  IF: wlp3s0 state: up mac: <filter> 
  IF-ID-1: br-2c6e71107ca8 state: down mac: <filter> 
  IF-ID-2: docker0 state: down mac: <filter> 
  IF-ID-3: docker_gwbridge state: down mac: <filter> 
  IF-ID-4: virbr0 state: down mac: <filter> 
Bluetooth:
  Device-1: Apple Bluetooth USB Host Controller type: USB driver: btusb 
  v: 0.8 bus-ID: 1-3.3:6 
  Report: bt-adapter ID: hci0 rfk-id: 0 state: up address: <filter> 
Drives:
  Local Storage: total: 465.92 GiB used: 332.91 GiB (71.5%) 
  ID-1: /dev/sda vendor: Apple model: SSD SM0512G size: 465.92 GiB 
  temp: 58 C 
Partition:
  ID-1: / size: 1.89 GiB used: 1016.8 MiB (52.6%) fs: ext4 dev: /dev/dm-7 
  mapped: luks-687375be-7c25-4a8a-956a-b224eba8d4c4 
  ID-2: /boot size: 379.4 MiB used: 218.8 MiB (57.7%) fs: ext4 
  dev: /dev/sda4 
  ID-3: /boot/efi size: 196.9 MiB used: 30 MiB (15.2%) fs: vfat 
  dev: /dev/sda1 
  ID-4: /home size: 168.35 GiB used: 142.6 GiB (84.7%) fs: ext4 
  dev: /dev/dm-8 mapped: luks-8c2588aa-5bb9-4647-b2b6-e0602c1a7c25 
  ID-5: /tmp size: 7.57 GiB used: 24.8 MiB (0.3%) fs: ext4 dev: /dev/dm-10 
  mapped: luks-438f5ea2-b6a4-49c6-92a4-fedaea18d29d 
  ID-6: /usr size: 24.51 GiB used: 19.21 GiB (78.4%) fs: ext4 dev: /dev/dm-0 
  mapped: fedora-usr 
  ID-7: /var size: 21.35 GiB used: 18.74 GiB (87.8%) fs: ext4 dev: /dev/dm-9 
  mapped: luks-9a92de1a-7be6-4d37-8bbd-5cca5b2a986c 
Swap:
  ID-1: swap-1 type: partition size: 3.91 GiB used: 710.2 MiB (17.7%) 
  dev: /dev/dm-6 mapped: luks-90345fad-757e-45fd-a7b5-76da7a1bd448 
  ID-2: swap-2 type: zram size: 7.7 GiB used: 7.34 GiB (95.4%) 
  dev: /dev/zram0 
Sensors:
  System Temperatures: cpu: 87.0 C mobo: N/A 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 365 Uptime: 15d 13h 6m Memory: 7.7 GiB used: 7.18 GiB (93.4%) 
  Init: systemd runlevel: 5 Compilers: gcc: 11.2.1 clang: 13.0.0 Packages: 8 
  note: see --pkg Shell: fish v: 3.3.1 inxi: 3.3.06 

Tit might be SELinux who makes you trouble.

It doesn’t look like an selinux issue to me. I haven’t gotten any alerts from setroubleshoot, and if I put selinux in non-enforcing mode with setenforce 0 and then try to start dockerd I get the same output from systemctl status docker and journalctl -xeu docker.

Do you really need docker? Might be that podman gives what you need instead ?

To not be worried about the daemons .

sudo dnf info podman

I need Docker Swarm; does podman provide that functionality?

Sorry, I do have to ask google, you might have to ask on you own :slight_smile:

A quick Google search indicates that Docker Swarm is one of the features Podman lacks.

To be clear, I’m using Docker from the moby-engine package of Fedora, as opposed to docker-ce from the docker.org.

I found this Fedora Magazine article which says you need to remove the systemd.unified_cgroup_hierarchy=0 kernel workaround which was required on earlier versions of Fedora:

https://fedoramagazine.org/docker-and-fedora-35/

But that doesn’t seem to solve my problem.

I uninstalled moby-engine and installed docker-ce according to the instructions at Install Docker Engine on Fedora | Docker Documentation. Weird that the third party docker-ce package works when the moby-engine package from the Fedora repos won’t even start, but at least I can use Docker again. Thanks @ilikelinux for your help in troubleshooting this!

1 Like