Imagem Jenkins com Docker Compose
1.1K
Esta é uma imagem Docker personalizada baseada na imagem oficial jenkins/jenkins:lts, com ferramentas adicionais (jq, curl, python3-pip e docker-compose) para suportar pipelines CI/CD que requerem essas dependências. Este Dockerfile é projetado para ser usado em ambientes onde o Jenkins precisa interagir com o Docker Compose e outras ferramentas para automação de builds e deploys.
A imagem estende a imagem oficial do Jenkins LTS, instalando:
A imagem alterna entre o usuário root para instalar as dependências e o usuário jenkins para execução, garantindo segurança e conformidade com as práticas do Jenkins.
docker-compose durante a construção da imagem.Puxar a imagem:
docker pull aprendendolinux/jenkins:latest
Executar o contêiner:
docker run -d -p 8080:8080 -p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
aprendendolinux/jenkins:latest
-p 8080:8080: Expõe a interface web do Jenkins.-p 50000:50000: Expõe a porta para agentes Jenkins.-v jenkins_home:/var/jenkins_home: Persiste os dados do Jenkins em um volume.Acesse o Jenkins em http://localhost:8080 e siga as instruções para configuração inicial.
Clonar o repositório:
git clone https://github.com/AprendendoLinux/test-ipv6.git
cd test-ipv6
Construir a imagem:
docker build -t <seu-nome-de-usuário>/<nome-da-imagem> .
Executar o contêiner: Use o mesmo comando de execução descrito acima.
FROM jenkins/jenkins:lts
USER root
RUN apt-get update && \
apt-get install -y jq curl python3-pip && \
apt clean && \
apt clean all && \
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \
chmod +x /usr/local/bin/docker-compose
USER jenkins
jenkins/jenkins:lts como base, garantindo a versão mais recente e estável do Jenkins.root para instalar pacotes e configurar o sistema.apt-get update && apt-get install -y jq curl python3-pip: Instala jq, curl e python3-pip.apt clean && apt clean all: Limpa o cache do apt para reduzir o tamanho da imagem.curl -L ...: Baixa o binário do docker-compose (versão 1.29.2) e o instala em /usr/local/bin/docker-compose.chmod +x: Torna o binário do docker-compose executável.jenkins para garantir que o Jenkins seja executado com privilégios apropriados.Esta imagem é ideal para pipelines Jenkins que requerem:
jq (ex.: parsing de respostas de APIs).curl.pip.docker-compose (ex.: orquestração de serviços em ambientes de desenvolvimento ou testes).Exemplo de pipeline que usa docker-compose:
pipeline {
agent { docker { image '<seu-nome-de-usuário>/<nome-da-imagem>' } }
stages {
stage('Deploy com Docker Compose') {
steps {
sh 'docker-compose up -d'
}
}
}
}
docker-compose. Para usar outra versão, modifique a URL no curl no Dockerfile./var/jenkins_home para evitar perda de configurações do Jenkins.docker-compose. Isso pode exigir a montagem do socket Docker (/var/run/docker.sock) no contêiner.Sinta-se à vontade para abrir issues ou pull requests no repositório AprendendoLinux/test-ipv6 para sugerir melhorias ou relatar problemas.
Este projeto está licenciado sob a MIT License.
Content type
Image
Digest
sha256:040953de1…
Size
440.6 MB
Last updated
about 1 year ago
docker pull aprendendolinux/jenkins:lts