Installing Docker on LMDE6
A slight modification needed to install on Linux Mint Debian Edition 6
Based on the docs at https://docs.docker.com/engine/install/debian/, installing docker should go easy. However, when doing so on LMDE6 (Linux Mint Debian Edition 6), one may notice the following error:
Err:10 https://download.docker.com/linux/debian faye Release
404 Not Found [IP: 3.161.193.73 443]
Reading package lists... Done
E: The repository 'https://download.docker.com/linux/debian faye Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
If you then try to do the docker install, you get:
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package docker-ce is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package docker-ce-cli is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'docker-ce' has no installation candidate
E: Package 'docker-ce-cli' has no installation candidate
E: Unable to locate package containerd.io
E: Couldn't find any package by glob 'containerd.io'
E: Couldn't find any package by regex 'containerd.io'
E: Unable to locate package docker-buildx-plugin
E: Unable to locate package docker-compose-plugin
The ISSUE
LinuxMint uses its own codenames. So when the script is pulling $VERSION_CODENAME it is getting faye, in this case. Docker is looking for the Debian codename, which would be bookworm.
The FIX
So, by changing the variable in the script to the $DEBIAN_CODENAME, it will grab the correct information that is needed by the docker script, which is just looking in the file /etc/os-release. If you cat /etc/os-release, you will see all the info:
PRETTY_NAME="LMDE 6 (faye)"
NAME="LMDE"
VERSION_ID="6"
VERSION="6 (faye)"
VERSION_CODENAME=faye
ID=linuxmint
HOME_URL="https://www.linuxmint.com/"
SUPPORT_URL="https://forums.linuxmint.com/"
BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
PRIVACY_POLICY_URL="https://www.linuxmint.com/"
ID_LIKE=debian
DEBIAN_CODENAME=bookworm
So the actual script you want to run is:
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$DEBIAN_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update