diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index 30aacdd..8c98dae 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -66,6 +66,7 @@ ** xref:debug-systemd-problems.adoc[How to debug systemd problems] ** xref:enable-touchpad-click.adoc[How to enable touchpad click] ** xref:installing-and-running-vlc.adoc[Installing and running the VLC player] +** xref:installing-docker.adoc[Installing Docker and Docker-Compose on Fedora] ** xref:jitsi-getting-started.adoc[Jitsi Meet Self-Hosting Guide] ** xref:mok-enrollment.adoc[Machine Owner Key Enrollment] ** xref:managing-keyboard-shortcuts-for-running-app-in-gnome.adoc[Managing keyboard shortcuts for running an application in GNOME] diff --git a/modules/ROOT/pages/installing-docker.adoc b/modules/ROOT/pages/installing-docker.adoc new file mode 100644 index 0000000..b0439d0 --- /dev/null +++ b/modules/ROOT/pages/installing-docker.adoc @@ -0,0 +1,208 @@ += Installing Docker and Docker-Compose +Bradley G Smith, +:revnumber: F40,F41,rawhide +:revdate: 2024-11-13 +:category: Installation +:tags: How-to, docker, docker-compose, dnf, rpm, containers + +// Optional free form useful additional information as comment + +//include::{partialsdir}/3rdparty-message.adoc[] +include::partial$3rdparty-message.adoc[] + +[[sect-overview]] +== Overview + +This guide provides useful information about installing link:https://www.docker.com/[Docker] and Docker-Compose using rpms available from Fedora. +The role of Podman and related packages is also discussed. + +The Docker community also provides rpms for Fedora. For instructions on how to install these rpms please see link:https://docs.docker.com/engine/install/fedora/[Install Docker Engine on Fedora]. + +[[sect-what-is-docker]] +=== What is Docker? + +link:https:/docker.io[Docker] accelerates "how you build, share, and run applications" by providing an easy to use and configure mechanism to develop and run containers. + +This guide is primarily focused on the Docker rpms available from Fedora and using `dnf` and the command line to install these rpms on Fedora. + +[[sect-what-is-docker-compose]] +=== What is Docker-Compose? + +link:https://docs.docker.com/compose/[Docker-Compose] (referred to as Compose below) is software that enables users to easily manage multi-container applications or multiple applications on a single instance of Docker. + +Version 1 of Compose was deployed as a stand-alone application called `docker-compose`. +Version 2 (the current version) is available as a plug-in to the `docker` command and launched as `docker compose [options]`. + +[[sect-fedora-41]] +== Docker on Fedora 41 (and newer) + +The Docker related rpms in Fedora 41 and newer are listed in the table below. +The corresponding rpm names from the Docker community are also listed for comparison. +Mixing rpms from Docker with Fedora provided rpms is not recommended and may be blocked by `dnf`. + +.Docker rpms in Fedora 41 (and newer) compared to rpms from Docker community. +[cols="1,1,1", options="header"] +|=== +|Fedora RPM Name|Docker RPM Name|Notes + +|containerd +|containerd +|Container runtime + +|docker-buildx +|docker-buildx-plugin +|Docker buildx plug-in + +|docker-cli +|docker-ce-cli +|Docker command line client, i.e. `docker` + +|docker-compose +|docker-compose-plugin +|Compose v2 implemented as a plug-in + +|docker-compose-switch +|n/a - See link:https://github.com/docker/compose-switch[compose-switch] for installation instructions +|Provides command line `docker-compose` that works with Compose v2 + +|moby-engine +|docker-ce +|Server component for Docker +|=== + +=== Installation + +In order to get `docker` on the command line, use the command below. +This will also install appropriate dependencies. + +[source,bash] +---- +sudo dnf install docker-cli containerd +---- + +In order to get Compose as a plug-in use the command below. +This will also install appropriate dependencies. +This provides Compose v2 features and capabilities. + +[source,bash] +---- +sudo dnf install docker-compose +---- + +In order to get `docker-compose` on the command line, use the command below. +This will also install appropriate dependencies. +This provides Compose v2 features and capabilities. + +[source,bash] +---- +sudo dnf install docker-switch +---- + +=== Podman Alternatives + +link:https://podman.io/[Podman] is a powerful and feature complete application that can be used instead of Docker. +The instructions below are limited to only those that provide the `docker` and/or `docker-compose` commands. +Please visit link:https://podman.io/[Podman] to learn more about Podman capabilities and benefits. + +In order to get `docker` on the command line, use the command below. +This will also install appropriate dependencies. +This will conflict with `docker-cli`. + +[source,bash] +---- +sudo dnf install podman-docker +---- + +In order to get Compose as a plug-in use the command below. +This will also install appropriate dependencies. +This provides Compose v2 features and capabilities. + +[source,bash] +---- +sudo dnf install podman docker-compose +---- + +In order to get `docker-compose` on the command line, use the command below. +This will also install appropriate dependencies. +This provides Compose v2 features and capabilities. + +[source,bash] +---- +sudo dnf install podman docker-switch +---- + +[[sect-fedora-40]] +== Fedora 40 + +The Docker related rpms in Fedora 40 are listed in the table below. +The corresponding rpm names from the Docker community are also listed for comparison. +Mixing rpms from Docker with Fedora provided rpms is not recommended and may be blocked by `dnf`. + +.Docker rpms in Fedora 40 compared to rpms from Docker community. +[cols="1,1,1", options="header"] +|=== +|Fedora RPM Name|Docker RPM Name|Notes + +|containerd +|containerd +|Container runtime + +|n/a +|docker-buildx-plugin +|Docker buildx plug-in + +|docker-cli +|docker-ce-cli +|Docker command line client, i.e. `docker` + +|docker-compose +|docker-compose +|Compose v1 + +|moby-engine +|docker-ce +|Server component for Docker +|=== + +=== Installation + +In order to get `docker` on the command line, use the command below. +This will also install appropriate dependencies. + +[source,bash] +---- +sudo dnf install docker-cli containerd +---- + +In order to get `docker-compose` on the command line, use the command below. +This will also install appropriate dependencies. +This provides Compose v1 features and capabilities. + +[source,bash] +---- +sudo dnf install docker-compose +---- + +=== Podman Alternatives + +link:https://podman.io/[Podman] is a powerful and feature complete application that can be used instead of Docker. +The instructions below are limited to only those that provide the `docker` and/or `docker-compose` commands. +Please visit link:https://podman.io/[Podman] to learn more about Podman capabilities and benefits. + +In order to get `docker` on the command line, use the command below. +This will also install appropriate dependencies. +This will conflict with `docker-cli`. + +[source,bash] +---- +sudo dnf install podman-docker +---- + +In order to get `docker-compose` on the command line, use the command below. +This will also install appropriate dependencies. +This provides Compose v1 features and capabilities. + +[source,bash] +---- +sudo dnf install podman docker-compose +----