3. O que é um container? 📦
• Unidade de software padronizada
• Virtualização no nível do SO
• Compartilham o mesmo Kernel do
hospedeiro
• Menor overhead para acessar
hardware
4. Mas o que é este tal Docker? 🐳
• Plataforma de contêineres
• Ideia baseada na ferramenta LXC (Linux Containers) – cgroups,
isolamento de CPU, memoria, rede, etc.
• Outra abordagem: rkt by Core OS
16. Demo 😈
• Criar um projeto simples usando spring-boot
• Criar um container Docker com o projeto
• Publicar a imagem no Docker Hub
• Instalar em um cluster Kubernetes
• Escalar
• Valendo!
20. Leia mais! 📚
• https://www.docker.com/what-container
• https://www.docker.com/what-docker
• https://hub.docker.com
• https://kubernetes.io/docs/tutorials/kubernetes-basics/
• https://github.com/kubernetes/minikube
• https://fjorgemota.com/docker-containers-para-a-vida-ou-nao/
• https://woliveiras.com.br/posts/comandos-mais-utilizados-no-docker/
• https://www.linkedin.com/pulse/infrastructure-code-iac-vs-containers-pedro-castelo-
branco-louren%C3%A7o/
• https://blog.kublr.com/using-jenkins-and-kubernetes-for-continuous-integration-and-
delivery-4e4341aff013
• Cola com o roteiro:
https://gist.github.com/diegon/ec036348cae15aca59c87bf027b9e183
Notas do Editor
A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings.
Available for both Linux and Windows based apps, containerized software will always run the same, regardless of the environment.
Containers isolate software from its surroundings, for example differences between development and staging environments and help reduce conflicts between teams running different software on the same infrastructure.
The Linux kernel provides the cgroups functionality that allows limitation and prioritization of resources (CPU, memory, block I/O, network, etc.) without the need for starting any virtual machines, and also namespace isolation functionality that allows complete isolation of an applications' view of the operating environment, including process trees, networking, user IDs and mounted file systems.[3]
LXC combines the kernel's cgroups and support for isolated namespaces to provide an isolated environment for applications. Early versions of Docker used LXC as the container execution driver, though LXC was made optional in v0.9 and support was dropped in Docker v1.10.