C++ e Docker: conteinerização de aplicações
C++ e Docker: conteinerização de aplicações
Resumo:
O livro «C++ e Docker: conteinerização de aplicações» é um guia prático para desenvolvedores C++ que desejam dominar abordagens modernas para empacotar, entregar e executar seu código usando contêineres. Diferente de livros típicos sobre Docker, focados em desenvolvimento web com Python ou Node.js, esta edição concentra-se especificamente nas particularidades do C++: vinculação estática e dinâmica, gerenciamento de dependências, otimização do tempo de build e do tamanho da imagem final.
Para quem é este livro?
- Para desenvolvedores C++ que desejam simplificar a implantação de suas aplicações e eliminar o problema de «funciona na minha máquina».
- Para engenheiros DevOps que trabalham com sistemas de alta carga em C++ e precisam de pipelines de build confiáveis.
- Para estudantes e programadores iniciantes que desejam entender como a infraestrutura moderna se combina com uma linguagem clássica.
O que você aprenderá?
- Fundamentos do Docker: imagens, contêineres, Dockerfile, docker-compose.
- Particularidades da conteinerização de projetos C++: trabalho com bibliotecas do sistema, passagem de variáveis de ambiente, gerenciamento de versões de compiladores (GCC, Clang).
- Build multiestágio (multi-stage builds) para minimizar o tamanho da imagem — de 2 GB para 50 MB.
- Integração com CMake e Conan para gerenciamento de dependências dentro do contêiner.
- Criação de imagens leves baseadas em Alpine Linux e scratch.
- Teste, depuração e perfilamento de aplicações C++ dentro do contêiner.
- Orquestração com docker-compose e Kubernetes para arquitetura de microsserviços em C++.
- Configuração de pipelines CI/CD (GitHub Actions, GitLab CI) para build e publicação automática de imagens.
O livro contém muitos exemplos práticos e Dockerfiles prontos que podem ser imediatamente adaptados aos seus projetos. Você aprenderá não apenas a «empacotar» a aplicação em um contêiner, mas a fazer isso de forma otimizada: considerando cache de camadas, tempo mínimo de build e segurança.
Após a leitura, você será capaz de conteinerizar com confiança tanto utilitários pequenos quanto projetos complexos e multimodulares em C++, além de integrar o Docker no processo de desenvolvimento e entrega de software.
O código dos exemplos está disponível para download no GitHub, todos os comandos foram testados nas versões atuais do Docker 24+ e C++20.