Today, I had to reinstall a Docker host, which was previously running on my beloved CentOS 8. As that is quickly approaching it's end, I decided to give AlmaLinux a try. To use it as a Docker host, I had to install native Docker. (I prefer to use native Docker over the one, that is part of the distribution.) So, according to https://get.docker.com/, this is supposed to work as follows:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
In the past, I did that on CentOS, quite a lot, so I expected it to work out of the box. Unfortunately, that didn't quite work, and failed with the error message below:
sudo sh get-docker.sh
# Executing docker install script, commit: 7cae5f8b0decc17d6571f9f52eb840fbc13b2737
ERROR: Unsupported distribution 'almalinux'
In other words, the Docker installer isn't quite uptodate. Fortunately, fixing a shell script isn't that big of a problem, and I got it running by applying the following patch:
[jwi@gitjndhost ~]$ diff -ub get-docker-orig.sh get-docker.sh
--- get-docker-orig.sh 2021-04-28 12:10:12.477498011 +0200
+++ get-docker.sh 2021-04-28 12:03:23.300011495 +0200
@@ -342,7 +342,7 @@
esac
;;
- centos|rhel)
+ centos|rhel|almalinux)
if [ -z "$dist_version" ] && [ -r /etc/os-release ]; then
dist_version="$(. /etc/os-release && echo "$VERSION_ID")"
fi
@@ -427,8 +427,8 @@
echo_docker_as_nonroot
exit 0
;;
- centos|fedora|rhel)
- yum_repo="$DOWNLOAD_URL/linux/$lsb_dist/$REPO_FILE"
+ centos|fedora|rhel|almalinux)
+ yum_repo="$DOWNLOAD_URL/linux/centos/$REPO_FILE"
if ! curl -Ifs "$yum_repo" > /dev/null; then
echo "Error: Unable to curl repository file $yum_repo, is it valid?"
exit 1
Note: In order to overcome minor dependency conflicts with podman, buildah, and the like, I also had to issue the command
sudo dnf -y remove runc