Updated: 10 October 2026 · Applies to: Fedora 44 with dnf5 (tested: Docker Engine 29.9.0, Compose 5.6.0, Buildx 0.38.0; Fedora moby-engine 29.7.2); same steps on Fedora 43 and 45 according to Docker
To install Docker on Fedora, add Docker's repository and install Docker Engine with dnf, then start the service:
sudo dnf config-manager addrepo --from-repofile https://download.docker.com/linux/fedora/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo systemctl enable --now docker sudo docker run hello-world
These are the commands from Docker's own guide, which supports the Fedora releases that are still maintained (Fedora 43 and 44, and it already lists 45). The step-by-step version with the output we got on Fedora 44 follows. Fedora also packages Docker itself (moby-engine), covered further down.
Install Docker Engine from Docker's repository
- Remove old or conflicting packages. It is fine if none are installed; dnf then prints
No packages to remove for argumentfor each name andNothing to do.:sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
Also remove Fedora'smoby-engineandpodman-dockerif you installed them: in our test both conflicted with Docker's packages. - Add the repository. Fedora 41 and later use dnf5, where
config-managercomes from thednf5-pluginspackage. If dnf answersUnknown argument "config-manager" for command "dnf5", install it first:sudo dnf install dnf5-plugins sudo dnf config-manager addrepo --from-repofile https://download.docker.com/linux/fedora/docker-ce.repo
Note thatdnf install dnf-plugins-core, which older guides give, did not help on Fedora 44: it installed 53 packages for the old dnf 4 and the error stayed. The old option--add-repofails withUnknown argument "--add-repo" for command "config-manager". - Install Docker Engine with the Buildx and Compose plugins:
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
dnf asks you to import Docker's key. Accept it only if the fingerprint matches the one Docker publishes,060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35:Importing OpenPGP key 0x621E9F35: UserID : "Docker Release (CE rpm) <docker@docker.com>" Fingerprint: 060A61C51B558A7F742B77AAC52FEB6B621E9F35 From : https://download.docker.com/linux/fedora/gpg
In our test this installed 55 packages (129 MiB), includingcontainer-selinuxfor SELinux anddocker-ce-rootless-extras. - Check the versions:
$ docker --version Docker version 29.9.0, build f415da8 $ docker compose version Docker Compose version v5.6.0 $ docker buildx version github.com/docker/buildx v0.38.0 0dbe87f36ed472fe36b6796c3f70b4210a731fc5
- Start Docker now and at every boot. The package does not start it for you:
sudo systemctl enable --now docker
- Test it:
sudo docker run hello-world
The hello-world image prints:Hello from Docker! This message shows that your installation appears to be working correctly.
Run docker without sudo
The install creates a docker group with no members (docker:x:996: in our test). Add your user and start a new login session, or run newgrp docker:
sudo usermod -aG docker $USER
According to Docker, the docker group grants root-level privileges, so add only users you would also give sudo.
Option: Fedora's own Docker packages
Fedora builds Docker from the same open-source code (Moby). It needs no extra repository and updates with the rest of Fedora:
sudo dnf install moby-engine docker-compose sudo systemctl enable --now docker
On Fedora 44 this gave Docker version 29.7.2, build 1.fc44, Compose 5.5.1 (both docker compose and docker-compose work) and Buildx 0.37.2, a little behind Docker's repository. Use one source or the other, not both.
If you do not need the Docker daemon, Fedora's Podman runs the same images without one: sudo dnf install podman. The podman-docker package adds a docker command that calls Podman.
Compose, updates and versions
- Compose is a plugin, used as
docker compose up -danddocker compose ps(with a space). sudo dnf upgradeupdates Docker with your other packages.- To see or pin versions:
dnf list --showduplicates docker-celisted 29.8.0 to 29.9.0 for Fedora 44 (3:29.9.0-1.fc44and so on). Install one by adding the version to the package names:sudo dnf install docker-ce-29.8.2 docker-ce-cli-29.8.2 containerd.io docker-buildx-plugin docker-compose-plugin
Do not copy the3:prefix todocker-ce-cli: its epoch is1:, anddocker-ce-cli-3:29.8.2-1.fc44gaveNo match for argument.
Common problems
- "failed to connect to the docker API at unix:///var/run/docker.sock": the daemon is not running. Docker 29.9 printed this in our test; older versions say "Cannot connect to the Docker daemon". Start it with
sudo systemctl start docker. For a normal user, also check that you logged in again after joining the docker group. - Docker does not start and
journalctl -u dockershows "failed to find iptables": according to Docker, runsudo alternatives --set iptables /usr/bin/iptables-nftand restart Docker. - A published port is reachable from the internet although you never opened it in firewalld: according to Docker, published ports are available to the outside world by default, and Docker puts its networks in its own firewalld zone (target ACCEPT) with a forwarding policy from any zone. Publish internal services on localhost only, for example
-p 127.0.0.1:8080:80. - Package conflicts: remove
moby-engine,docker-cliorpodman-dockerbefore installingdocker-ce(and the other way round).
Uninstall Docker
sudo dnf remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras sudo rm -rf /var/lib/docker /var/lib/containerd
The second line deletes all images, containers and volumes, so back up anything you need first.
For a server, AlmaLinux or Rocky Linux is usually the better base, because each release gets about ten years of updates instead of about thirteen months: see how to install Docker on a VPS for Ubuntu, Debian, AlmaLinux and Rocky Linux. A Ucartz KVM VPS gives you full root access to run Docker, with Free Basic Managed Support.
Official documentation: Install Docker Engine on Fedora and Linux post-installation steps.
