Install Docker on Fedora 44 and Run Your First Container

Fedora 44 makes a nice Docker host when you want newer packages without turning the whole server into a science project. The part that usually goes wrong is not Docker itself, but the pile of half-removed old packages, skipped repo setup, or permissions fixes that never quite land. Starting with Docker's own Fedora repository keeps the install predictable.

I am using Fedora Server 44 for this walkthrough. You will remove any old Docker packages, add Docker's official Fedora repository, install the engine and Compose plugin, start the service, and test everything with hello-world.

Docker is light on its own, but the containers you stack on top of it are where resource usage starts to creep.

Minimum for this walkthrough

  • 1 vCPU
  • 1 GB RAM
  • 10 GB free disk space

Recommended for a useful self-hosting base

  • 2 vCPU
  • 2 GB RAM
  • 20 GB or more of free disk space

That recommended size gives you enough room to move straight into a real app, a reverse proxy, and a few volumes without the box feeling cramped right away.

What this guide covers

This walkthrough is written for Fedora Server 44. Docker's Fedora install docs currently target maintained Fedora releases, and the commands below match the Fedora 44 flow.

By the end, you will have:

  • Docker Engine installed from Docker's official Fedora repository
  • the Docker service running at boot
  • Docker Compose available as a plugin
  • one successful test container run

If you are brand new to Compose too, pair this with Docker Compose for Self-Hosted Apps: A Beginner-Friendly Guide once Docker itself is working.

One warning before you start

Fedora ships with firewalld, and Docker's published ports do not always behave the way people expect once containers start binding directly on the host. Treat exposed ports as real exposure, not as something firewalld will magically clean up for you later.

That is not a reason to avoid Docker. It is just a good habit to keep in mind before you start publishing every admin panel to the internet.

Step 1: Remove old Docker packages if they are present

If this server has seen earlier Docker experiments, clear the old packages out first.

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

If dnf says some or all of them are not installed, that is fine.

Step 2: Add Docker's official Fedora repository

sudo dnf config-manager addrepo --from-repofile https://download.docker.com/linux/fedora/docker-ce.repo

That adds Docker's maintained Fedora repository instead of relying on older distro packaging.

Step 3: Install Docker Engine and the standard plugins

sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

If Fedora prompts you to accept Docker's GPG key, confirm the fingerprint matches the one shown in Docker's install documentation before you approve it.

Step 4: Start Docker now

sudo systemctl start docker

Step 5: Enable Docker at boot

sudo systemctl enable docker

Step 6: Check the Docker service status

sudo systemctl status docker

You want to see the service active and running here.

Step 7: Run the hello-world test container

sudo docker run hello-world

This confirms that the Docker client can talk to the daemon, pull an image, and start a container normally.

Step 8: Confirm the installed versions

docker --version
docker compose version

If both commands return cleanly, you have a working Docker CLI and the Compose plugin is available too.

Optional: Run Docker without sudo

A lot of people prefer not to type sudo every time they touch Docker.

Add your user to the docker group:

sudo usermod -aG docker $USER

Refresh group membership in your current shell:

newgrp docker

Then test Docker again without sudo:

docker run hello-world

Just remember what that convenience means: membership in the docker group is effectively root-level access.

Troubleshooting a rough first install

If Docker does not come up cleanly on Fedora 44, these checks usually show where things slipped.

Check the Docker service logs

sudo journalctl -u docker --no-pager -n 50

Confirm Fedora can see the Docker packages

dnf info docker-ce

Inspect the Docker repository file

sudo cat /etc/yum.repos.d/docker-ce.repo

Verify the Docker service is enabled

sudo systemctl is-enabled docker

The usual first-install problems are:

  • old Docker packages still hanging around from earlier tests
  • skipping Docker's official repository and pulling the wrong packages
  • not starting the service after the install finishes
  • adding your user to the docker group but forgetting to refresh the session before testing again

What to do next

Once Docker is working, the next step is usually one of these:

With Docker installed properly on Fedora, the rest of your self-hosting stack gets a lot easier to manage.

share

Was this article helpful?

Let me know so I can keep improving.

Related articles

🐳
Docker & Containers
Install Docker on Debian 13 and Run Your First Container
Install Docker Engine on Debian 13 from Docker's official repository, verify the daemon, and run a quick container test so you have a clean base for self-hosting.
🐳
Docker & Containers
How to Install Docker on Ubuntu and Run Your First Container
Install Docker Engine on Ubuntu using Docker's official apt repository, verify that it works, and optionally set it up so you can run Docker commands without sudo.
🐳
Docker & Containers
Docker Compose for Self-Hosted Apps: A Beginner-Friendly Guide
Learn how to use Docker Compose for self-hosted apps, including folder layout, compose files, environment variables, volumes, safe restarts, and basic update habits.
🤖
AI & LLMs
Run OpenClaw with Docker Compose on Ubuntu 24.04 LTS
Run OpenClaw with Docker Compose on Ubuntu 24.04 LTS, keep the config and workspace persistent, and verify the Control UI before you start adding channels or extra tooling.