Validar CPF em um ambiente Docker isolado pode parecer desafiador, mas com a abordagem certa, você pode implementar uma solução robusta e offline. Este método utiliza um script Python embutido na imagem Docker, garantindo validação precisa sem depender de serviços externos.
O primeiro passo é criar um Dockerfile que instale o Python e copie um script de validação. Este arquivo define a base da nossa imagem Docker.
FROM python:3.9-slim
WORKDIR /app
COPY validate_cpf.py .
CMD ["python", "validate_cpf.py"]
O script Python implementa o algoritmo padrão de validação de CPF, calculando os dígitos verificadores sem necessidade de internet.
def validate_cpf(cpf):
cpf = ''.join(filter(str.isdigit, cpf))
if len(cpf) != 11:
return False
if cpf == cpf[0] * 11:
return False
# Cálculo do primeiro dígito verificador
sum_digits = sum(int(digit) * (10 - i) for i, digit in enumerate(cpf[:9]))
first_digit = (sum_digits * 10) % 11
first_digit = 0 if first_digit == 10 else first_digit
# Cálculo do segundo dígito verificador
sum_digits = sum(int(digit) * (11 - i) for i, digit in enumerate(cpf[:10]))
second_digit = (sum_digits * 10) % 11
second_digit = 0 if second_digit == 10 else second_digit
return str(first_digit) == cpf[9] and str(second_digit) == cpf[10]
if __name__ == "__main__":
import sys
if len(sys.argv) != 2:
print("Uso: python validate_cpf.py ")
sys.exit(1)
cpf = sys.argv[1]
if validate_cpf(cpf):
print(f"CPF {cpf} é válido")
else:
print(f"CPF {cpf} é inválido")
Com os arquivos prontos, construa a imagem Docker e teste a validação de CPF.
# Construir a imagem
docker build -t cpf-validator .
# Executar a validação
docker run cpf-validator 123.456.789-09
A tabela abaixo mostra exemplos de CPFs e os resultados esperados da validação:
| CPF de Entrada | Formato | Resultado Esperado |
|---|---|---|
| 123.456.789-09 | Com pontuação | Inválido |
| 529.982.247-25 | Com pontuação | Válido |
| 52998224725 | Sem pontuação | Válido |
| 111.111.111-11 | Sequência inválida | Inválido |
Com este método, você implementa uma solução completa de validação de CPF em ambiente Docker sem depender de conexão com a internet. O script Python incorporado garante precisão nos cálculos dos dígitos verificadores, enquanto a imagem Docker fornece um ambiente isolado e replicável para suas necessidades de validação.