grezzo/featlib/docker.sh

49 lines
2.3 KiB
Bash
Executable File

#! /bin/bash --
[ ! -z "${GREZZO_1577141523}" ] && return; GREZZO_1577141523=0
function feat_addpacks_docker() {
if ! feat_missing "apt-get"; then
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
sudo apt-get update
if [ "$(apt-cache search docker-ce | grep -o "^docker-ce ")" != "docker-ce" ]; then
sudo mkdir -p /etc/apt/keyrings
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
sudo install -m 0755 -d /etc/apt/keyrings
. /etc/lsb-release
sudo rm -rf /etc/apt/keyrings/docker.gpg >/dev/null 2>&1
if [[ "$DISTRIB_ID" == "LinuxMint" ]]; then
. /etc/upstream-release/lsb-release
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$DISTRIB_CODENAME stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
elif [[ "$DISTRIB_ID" == "Ubuntu" ]]; then
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
else
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
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
fi
sudo apt-get update
fi
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
fi
}
function feat_add_docker() {
if feat_missing "docker"; then
feat_addpacks_docker
fi
}