Imagem Docker otimizada e customizada do Azure AzCopy, baseada em Alpine Linux com as últimas versões estáveis do AzCopy. Projetada especificamente para automação de sincronização de arquivos entre Azure Storage.
- ✅ Sempre atualizada: Build automático com a última versão estável do AzCopy
- ✅ Multi-arquitetura: Suporte para AMD64 e ARM64
- ✅ Imagem mínima: Baseada em Alpine Linux (~50MB)
- ✅ Segurança: Execução com usuário não-root
- ✅ CI/CD Ready: Otimizada para pipelines de automação
- ✅ Verificação diária: Workflow automatizado para detectar novas versões
- Docker Hub:
dfsrj/docker-azcopy - GitHub:
ghcr.io/diogofrj/docker-azcopy
latest- Última versão estável10.x.x- Versão específica do AzCopy10.x- Última versão minor10- Última versão major
docker run --rm dfsrj/docker-azcopy:latest --versiondocker run --rm -v $PWD:/workspace \
dfsrj/docker-azcopy:latest \
sync "/workspace/local-folder" "https://account.blob.core.windows.net/container?SAS_TOKEN" \
--recursive --delete-destinationdocker run --rm \
-e SAS_ORIGEM="se=2025-07-16T14:59:59Z&sp=r..." \
-e SAS_DESTINO="se=2025-07-16T14:59:59Z&sp=rwcl..." \
dfsrj/docker-azcopy:latest \
sync "https://source.file.core.windows.net/share?$SAS_ORIGEM" \
"https://dest.blob.core.windows.net/container?$SAS_DESTINO" \
--from-to=FileBlob --recursive --delete-destination#!/bin/bash
# script-sync.sh
SOURCE_URL="https://source.file.core.windows.net/share?$SAS_ORIGEM"
DEST_URL="https://dest.blob.core.windows.net/container?$SAS_DESTINO"
docker run --rm \
-v $PWD:/workspace \
-e SAS_ORIGEM="$SAS_ORIGEM" \
-e SAS_DESTINO="$SAS_DESTINO" \
dfsrj/docker-azcopy:latest \
sync "$SOURCE_URL" "$DEST_URL" \
--from-to=FileBlob \
--recursive \
--delete-destination \
--log-level=INFOversion: '3.8'
services:
azcopy-sync:
image: dfsrj/docker-azcopy:latest
environment:
- SAS_ORIGEM=${SAS_ORIGEM}
- SAS_DESTINO=${SAS_DESTINO}
volumes:
- ./scripts:/scripts:ro
command: |
sync "https://source.file.core.windows.net/share?$$SAS_ORIGEM"
"https://dest.blob.core.windows.net/container?$$SAS_DESTINO"
--from-to=FileBlob --recursive --delete-destinationapiVersion: batch/v1
kind: CronJob
metadata:
name: azcopy-sync
spec:
schedule: "0 */6 * * *" # A cada 6 horas
jobTemplate:
spec:
template:
spec:
containers:
- name: azcopy-sync
image: dfsrj/docker-azcopy:latest
command: ["azcopy", "sync"]
args:
- "https://source.file.core.windows.net/share?$(SAS_ORIGEM)"
- "https://dest.blob.core.windows.net/container?$(SAS_DESTINO)"
- "--from-to=FileBlob"
- "--recursive"
- "--delete-destination"
env:
- name: SAS_ORIGEM
valueFrom:
secretKeyRef:
name: azcopy-tokens
key: sas-origem
- name: SAS_DESTINO
valueFrom:
secretKeyRef:
name: azcopy-tokens
key: sas-destino
restartPolicy: OnFailure# Verificar versão atual
docker run --rm dfsrj/docker-azcopy:latest --version
# Saída esperada:
# azcopy version 10.x.x# Build da imagem
docker build -t meu-azcopy .
# Test local
docker run --rm meu-azcopy --versiondocker run --rm dfsrj/docker-azcopy:latest \
list "https://account.blob.core.windows.net/container?SAS_TOKEN"docker run --rm -v $PWD:/workspace dfsrj/docker-azcopy:latest \
copy "/workspace/file.txt" "https://account.blob.core.windows.net/container/file.txt?SAS_TOKEN" \
--log-level=INFOdocker run --rm dfsrj/docker-azcopy:latest \
sync "source" "destination" \
--include-pattern="*.pdf;*.doc*" \
--exclude-pattern="temp/*"- Execução com usuário não-root (UID/GID 1000)
- Scan de vulnerabilidades automatizado com Trivy
- Imagem baseada em Alpine Linux (minimal attack surface)
- Certificados CA atualizados
docker run --rm dfsrj/docker-azcopy:latest \
sync "source" "destination" \
--log-level=INFO \
--output-type=jsondocker run --rm dfsrj/docker-azcopy:latest \
sync "source" "destination" \
--cap-mbps=100 \
--log-level=INFO- Fork do repositório
- Crie uma branch para sua feature
- Commit suas mudanças
- Push para a branch
- Abra um Pull Request
MIT License - veja o arquivo LICENSE para detalhes.
- GitHub Issues: Reportar problemas
- Documentação AzCopy: Documentação oficial
- ✅ Build automático com última versão estável
- ✅ Multi-arquitetura (AMD64/ARM64)
- ✅ Otimizações de performance
- ✅ Segurança aprimorada
Mantido por: Diogo Fernandes - iachero
Baseado em: Azure AzCopy