Imagem multifuncional para automacao, IaC, CI local e fluxos de conteudo, unificando Python, Azure CLI, Terraform, Ansible, GitHub CLI, Node.js/Marp e utilitarios opcionais de ML no mesmo ambiente.
| Item | Valor |
|---|---|
| Imagem | lzocateli/devops:<tag> |
| Tag recomendada (GPU) | lzocateli/devops:cuda-12.6.3 |
| Tag recomendada (CPU) | lzocateli/devops:cpu |
| Imagem base padrao | nvidia/cuda:12.6.3-cudnn-runtime-ubuntu24.04 |
| Node.js | 24.15.0 |
| npm | 12.0.2 |
| Terraform | 1.15.8 |
| Plataformas | linux/amd64 |
| Usuario padrao | root (necessario para ferramentas administrativas e shell de automacao) |
| Entry point | /usr/local/bin/devops-entrypoint |
| Diretorio de trabalho | /workspace |
| Codigo-fonte | https://github.com/lzocateli/containers/tree/main/devops |
| Documentacao | https://github.com/lzocateli/containers/tree/main/devops |
uv e venv pre-aquecido em /opt/venv.ansible-dev-tools, passlib).gh) com versao pinada por GH_VERSION.sqlcmd (go-sqlcmd Microsoft) com versao pinada por SQLCMD_VERSION.cu126 ou cpu) + openai-whisper com INSTALL_ML=true.google-api-python-client e auth libs) com INSTALL_GOOGLE=true.Esta imagem incorpora os contratos anteriormente publicados pelas imagens node e terraform:
/workspace como diretorio de trabalho e sem portas expostas. O hardening de libgnutls30, a remocao de pacotes Debian desnecessarios e o npm 12.0.2 fazem parte da imagem unificada./usr/local/bin/terraform, sem providers, backend, estado remoto ou credenciais preconfigurados.npx.node especializada continua indicada para workloads que precisam somente do runtime Node ou de uma imagem menor.latest fixa para producao.docker pull lzocateli/devops:cuda-12.6.3
docker run --rm -it lzocateli/devops:cuda-12.6.3 zsh
Exemplo minimo executavel (CPU):
docker run --rm -it \
-v "$PWD:/workspace" -w /workspace \
lzocateli/devops:cpu zsh
services:
devops:
image: lzocateli/devops:cuda-12.6.3
restart: unless-stopped
working_dir: /workspace
volumes:
- /caminho/absoluto/no/host:/workspace
- /caminho/absoluto/gh-config:/root/.config/gh
command: ["zsh"]
| Variavel | Obrigatoria | Secreta | Padrao | Descricao |
|---|---|---|---|---|
Env_HttpProxy | Nao | Nao | nenhum | Proxy corporativo em build (host:porta). |
Env_NoProxy | Nao | Nao | nenhum | Bypass de proxy no build. |
TZ | Nao | Nao | America/Sao_Paulo | Timezone da imagem. |
INSTALL_ML (build arg) | Nao | Nao | false | Liga instalacao de PyTorch e Whisper. |
INSTALL_GOOGLE (build arg) | Nao | Nao | true | Liga instalacao de libs Google API. |
NODE_VERSION (build arg) | Nao | Nao | 24.15.0 | Versao do runtime Node.js copiado do estagio oficial. |
NPM_VERSION (build arg) | Nao | Nao | 12.0.2 | Versao global do npm. |
TERRAFORM_VERSION (build arg) | Nao | Nao | 1.15.8 | Versao do binario oficial do Terraform. |
GH_VERSION (build arg) | Nao | Nao | 2.92.0 | Versao do GitHub CLI. |
SQLCMD_VERSION (build arg) | Nao | Nao | 1.10.0 | Versao do go-sqlcmd. |
BASE_IMAGE (build arg) | Nao | Nao | nvidia/cuda:12.6.3-cudnn-runtime-ubuntu24.04 | Define base CUDA ou CPU. |
Esta imagem nao expoe portas por contrato.
| Caminho no conteiner | Modo | Conteudo | Backup necessario |
|---|---|---|---|
/workspace | rw | Projeto e artefatos de trabalho do usuario | Conforme projeto montado |
/root/.config/gh | rw | Sessao do GitHub CLI | Recomendado |
/root/.azure | rw | Sessao do Azure CLI | Recomendado |
/root/.ssh | ro | Chaves SSH do host (opcional) | Sim |
Para projetos Node e Terraform, monte o codigo em /workspace. O cache npm, os providers Terraform e os arquivos de estado permanecem sob responsabilidade do consumidor.
Forneca secrets somente em runtime, por volume seguro ou variavel de ambiente injetada no executor. Nao versionar segredos no repositorio e nao usar ARG/ENV no Dockerfile para valores sensiveis.
devops-entrypoint garante PATH consistente e executa hooks de /docker-entrypoint.d/*.sh por ordem.zsh.exec no entrypoint.node --version, npm ci, npx, terraform version e terraform plan.root por objetivo operacional (toolbox de automacao).gh, az e chaves SSH como dados sensiveis.Build GPU (padrao):
docker build \
--pull \
--tag lzocateli/devops:cuda-12.6.3 \
devops
Para explicitar as versoes incorporadas:
docker build \
--build-arg NODE_VERSION=24.15.0 \
--build-arg NPM_VERSION=12.0.2 \
--build-arg TERRAFORM_VERSION=1.15.8 \
--tag lzocateli/devops:cuda-12.6.3 \
devops
Build CPU sem ML e sem Google APIs:
docker build \
--pull \
--build-arg BASE_IMAGE=ubuntu:24.04 \
--build-arg INSTALL_ML=false \
--build-arg INSTALL_GOOGLE=false \
--tag lzocateli/devops:cpu-slim \
devops
| Tag | Mutabilidade | Compatibilidade | Uso recomendado |
|---|---|---|---|
cuda-12.6.3 | Imutavel | GPU NVIDIA (quando disponivel) e CPU | Producao e automacao com ML |
cpu | Imutavel | Hosts sem GPU | Producao sem aceleracao CUDA |
cpu-slim | Imutavel | Hosts sem GPU, sem stack ML/Google | Automacao IaC e CI local |
Nao use latest como unica referencia em ambientes criticos.
Antes da publicacao, confirmar:
.gitignore e .dockerignore presentes e alinhados;.env, secrets e backups fora do Git e fora do contexto Docker;.git excluido do contexto Docker;zsh) e ferramentas-chave (python, gh, az, ansible, sqlcmd);node --version, npm --version, npx) e Terraform (terraform version);Use Actions > Publicar imagem de container > Run workflow com:
context_path: devops;image_name: devops;image_tag: tag imutavel (ex.: cuda-12.6.3);dockerfile: Dockerfile;platforms: linux/amd64.Para a imagem devops, use context_path: devops, image_name: devops e uma tag imutavel que identifique a base e as versoes incorporadas. Terraform faz parte da imagem unificada e nao possui mais uma release separada neste repositorio.
/root/.config/gh, /root/.azure, /root/.ssh).| Sintoma | Causa provavel | Verificacao | Correcao |
|---|---|---|---|
gh auth perde sessao | Sem volume para config do GH | verificar bind em /root/.config/gh | montar volume persistente |
az login precisa repetir login | Sem volume de config Azure | verificar bind em /root/.azure | montar volume persistente |
torch sem CUDA | Container sem --gpus all ou host sem runtime NVIDIA | nvidia-smi no host/container | usar tag CUDA + runtime NVIDIA |
| Build falha no proxy | Proxy/bypass incorreto | revisar Env_HttpProxy e Env_NoProxy | ajustar build args de proxy |
npm ci falha por lockfile | lockfile fora de sincronia | comparar package.json e lockfile | regenerar o lockfile usando npm 12.0.2 |
terraform: command not found | Imagem/tag incorreta ou comando sobrescrito | executar terraform version | usar a tag devops e o entrypoint padrao |
| Erros de provider Terraform | Provider nao inicializado | executar terraform init em /workspace | inicializar e validar o backend |
HEALTHCHECK, pois e uma imagem toolbox interativa sem processo de servico unico.node, pois inclui toda a toolbox devops, incluindo Terraform.root para manter compatibilidade com ferramentas administrativas; use uma imagem especializada quando isolamento nao-root for requisito.| Componente | Versao | Licenca | Fonte |
|---|---|---|---|
| Conteudo original deste repositorio | Atual | MIT | https://github.com/lzocateli/containers |
| Imagem base CUDA | 12.6.3-cudnn-runtime-ubuntu24.04 | Conforme upstream | https://hub.docker.com/r/nvidia/cuda |
| Azure CLI | Variavel no build | Conforme upstream | https://learn.microsoft.com/cli/azure |
| GitHub CLI | GH_VERSION | MIT | https://github.com/cli/cli |
| go-sqlcmd | SQLCMD_VERSION | MIT | https://github.com/microsoft/go-sqlcmd |
| Node.js | 24.15.0 | MIT | https://github.com/nodejs/node/blob/main/LICENSE |
| npm | 12.0.2 | ISC | https://github.com/npm/cli |
| Terraform | 1.15.8 | MPL-2.0 | https://github.com/hashicorp/terraform |
O badge MIT descreve apenas o conteudo original deste repositorio. Componentes de terceiros permanecem sob suas respectivas licencas. Consulte https://github.com/lzocateli/containers/blob/main/LICENSING.md.
Mudancas observaveis desta imagem devem ser registradas por tag imutavel no fluxo de release.
O Dockerfile do devops e o contrato unificado para os consumidores que precisam da toolbox completa. Terraform agora faz parte dessa imagem e nao e mantido como imagem independente neste repositorio.
Content type
Image
Digest
sha256:2a3e7f65b…
Size
2.7 GB
Last updated
about 1 month ago
docker pull lzocateli/devops:cpu-ubuntu24.04