1
resposta

Solução do problema de build da imagem do Jenkins

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

1 resposta

Olá, Raphael, como vai?

Muito obrigado por compartilhar a solução que encontrou. Sua explicação está clara e bastante útil para quem estiver enfrentando o mesmo obstáculo ao configurar a imagem do Jenkins com suporte ao Docker.

As alterações no Dockerfile foram bem estruturadas. Esse tipo de contribuição enriquece bastante o fórum e pode poupar tempo de outras pessoas que passem pelo mesmo ponto.

Parabéns novamente pela iniciativa, o fórum está à disposição.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!