Olá, eu estava com problemas para buildar a imagem do jenkis. O erro que estava ocorrendo era
Package 'docker-ce' has no installation candidate
Esse erro estava ocorrendo devido a imagem ser gerada com base em uma imagem debian(jenkins/jenkins) mas o comando lsb_release -cs está retornando um codname que não corresponde ao codname dos repositórios do debian no docker, ou a configuração do repositório não é a apropriada.
Resolvi fazendo as seguintes alteraçoes no Dockerfile:
FROM jenkins/jenkins
USER root
RUN apt-get update -qq && apt-get install -qqy \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common \
lsb-release
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
RUN echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
RUN apt-get update -qq && apt-get install -y docker-ce docker-ce-cli containerd.io
RUN usermod -aG docker jenkins
WORKDIR /home
Alterações:
lsb-release está instalado para garantir que o lsb_release vai funcionar
O docker GPG key foi instalado usando um método "signed-by" mais seguro
O repositório foi devidamente adicionado usando o keyring