Welcome to our guide on how to install Docker CE on Fedora Linux distribution. The release of Docker we’ll install is Docker Community Edition (CE). Docker is a leading container runtime engine that allows you to package your applications with all of its dependencies into a standardized unit for software development.
Follow the steps below to install Docker CE on Fedora Linux system.
Step 1: Update your system
Before we install Docker on Fedora Linux machine, we’ll start our installations by updating and upgrading OS packages. On Fedora, this can be easily done by running the command:
sudo dnf -y update
It is recommended to reboot your system after an upgrade
sudo reboot
Step 2: Add Docker CE repository
After upgrading system packages and rebooting the server, proceed to add Fedora repository to your system:
sudo dnf config-manager addrepo --from-repofile https://download.docker.com/linux/fedora/docker-ce.repo
Check that the repo has been added to your server:
$ sudo dnf repolist
repo id repo name
docker-ce-stable Docker CE Stable - x86_64
fedora Fedora 43 - x86_64
fedora-cisco-openh264 Fedora 43 openh264 (From Cisco) - x86_64
rpmfusion-free RPM Fusion for Fedora 43 - Free
rpmfusion-free-updates RPM Fusion for Fedora 43 - Free - Updates
rpmfusion-nonfree RPM Fusion for Fedora 43 - Nonfree
rpmfusion-nonfree-updates RPM Fusion for Fedora 43 - Nonfree - Updates
updates
Step 3: Install Docker on Fedora
Now that you have your repository ready, install the latest stable release of Docker CE on your machine by running:
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Press the y key when prompted to start the installation.
Updating and loading repositories:
Docker CE Stable - x86_64 100% | 15.8 KiB/s | 10.5 KiB | 00m01s
Repositories loaded.
Package Arch Version Repository Size
Installing:
containerd.io x86_64 2.2.1-1.fc43 docker-ce-stable 120.0 MiB
docker-buildx-plugin x86_64 0.30.1-1.fc43 docker-ce-stable 77.9 MiB
docker-ce x86_64 3:29.1.4-1.fc43 docker-ce-stable 93.7 MiB
docker-ce-cli x86_64 1:29.1.4-1.fc43 docker-ce-stable 34.1 MiB
docker-compose-plugin x86_64 5.0.1-1.fc43 docker-ce-stable 29.9 MiB
Installing dependencies:
iptables-legacy x86_64 1.8.11-12.fc43 updates 103.7 KiB
iptables-legacy-libs x86_64 1.8.11-12.fc43 updates 82.2 KiB
libcgroup x86_64 3.0-9.fc43 fedora 153.7 KiB
Installing weak dependencies:
docker-ce-rootless-extras x86_64 29.1.4-1.fc43 docker-ce-stable 11.3 MiB
Transaction Summary:
Installing: 9 packages
Total size of inbound packages is 94 MiB. Need to download 94 MiB.
After this operation, 367 MiB extra will be used (install 367 MiB, remove 0 B).
Is this ok [y/N]: y
And accept to import GPG key:
...
Importing OpenPGP key 0x621E9F35:
UserID : "Docker Release (CE rpm) <[email protected]>"
Fingerprint: 060A61C51B558A7F742B77AAC52FEB6B621E9F35
From : https://download.docker.com/linux/fedora/gpg
Is this ok [y/N]: y
Docker will be installed but not started. To start the docker service, run:
sudo systemctl enable --now docker
You can check status using the following command:
$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/service.d
└─10-timeout-abort.conf
Active: active (running) since Mon 2026-01-12 13:05:20 EAT; 14s ago
Invocation: 696eb1b22c5841e4a3550e596251e184
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 13142 (dockerd)
Tasks: 9
Memory: 22.4M (peak: 22.9M)
CPU: 214ms
CGroup: /system.slice/docker.service
└─13142 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
...
The docker group is created, but no users are added to the group. Add your user to this group to run docker commands without sudo.
sudo usermod -aG docker $(whoami)
newgrp docker
Logout and Login again to use Docker without sudo. The version of Docker installed can be checked with:
$ docker --version
Docker version 29.1.4, build 0e6fee6
$ docker compose version
Docker Compose version v5.0.1
This shows both Client and Engine versions.
Step 4: Pull Test docker image
The last step is to test your installation by downloading a test docker container.
$ docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
1074353eec0d: Pull complete
644afed44dca: Download complete
5c1f58ba4e0d: Download complete
Digest: sha256:865b95f46d98cf867a156fe4a135ad3fe50d2056aa3f25ed31662dff6da4eb62
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest
Verify that Docker CE is installed correctly by running the alpine image.
$ docker run -it --rm alpine /bin/sh
/ # apk update
v3.23.2-151-g0c1f0811a48 [https://dl-cdn.alpinelinux.org/alpine/v3.23/main]
v3.23.2-151-g0c1f0811a48 [https://dl-cdn.alpinelinux.org/alpine/v3.23/community]
OK: 27566 distinct packages available
/ # cat /etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.23.2
PRETTY_NAME="Alpine Linux v3.23"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"
/ # exit
Below is a bonus table with plenty of Docker and Compose CLI commands:
| Command | Description |
|---|---|
| Docker Commands | |
docker version | Check Docker version and information |
docker info | Display Docker system-wide information |
docker pull <image> | Pull an image from a registry |
docker run <image> | Run a container from an image |
docker ps | List running containers |
docker ps -a | List all containers (including stopped ones) |
docker stop <container> | Stop a running container |
docker rm <container> | Remove a container |
docker images | List local images |
docker rmi <image> | Remove an image |
docker exec -it <container> <command> | Execute a command in a running container interactively |
docker logs <container> | Fetch the logs of a container |
| Docker Compose Commands | |
docker-compose up | Start services defined in docker-compose.yml |
docker-compose down | Stop and remove containers, networks defined in docker-compose.yml |
docker-compose logs | View output from containers |
docker-compose ps | List containers |
docker-compose exec <service> <command> | Execute a command in a running service container |
docker-compose build | Build or rebuild services |
docker-compose restart <service> | Restart services |
docker-compose stop <service> | Stop services |
That’s all. You now have Docker running on your Fedora system. The next reading is:
To setup a Docker registry, check our guide on how to:
Please check our guide on managing Docker containers through a web interface;
For easy monitoring, you can use:
For installation of Docker on other systems, use:
Don’t forget to check other Fedora articles available on our website.
- How to Install Apache Tomcat 9 on CentOS 7 / Fedora
- How to Install Django on Fedora
- How to install LAMP Stack on Fedora
- Install and Configure phpMyAdmin on Fedora


































































