Visão Geral
Curso Docker Containerization. Os contêineres Docker são semelhantes, em alguns aspectos, à ativação de máquinas virtuais para cada um de seus serviços; no entanto, o mecanismo Docker procura evitar as despesas gerais de execução de sistemas operacionais totalmente virtualizados para cada instância. Em vez disso, o Docker inclui o aplicativo e suas dependências em contêineres discretos, no kernel do sistema operacional base, fazendo melhor uso da RAM do sistema e de outros recursos. Em termos de integração com DevOps, o Docker é usado no estágio de implantação contínua. Essa abordagem foi projetada para facilitar o desenvolvimento de software, os testes, o gerenciamento de configuração e a implantação de aplicativos, seja seu código executado localmente ou na nuvem.
O Curso Docker Containerization proporcionará experiência prática na criação de contêineres leves e de fácil implantação para seus projetos de desenvolvimento de software, orientado por um especialista em DevOps. explora detalhadamente o Docker Compose, o Docker Machine e o Docker Swarm. Este workshop tem como objetivo levar suas habilidades existentes com Docker para o próximo nível de dimensionamento de sua arquitetura DevOps com segurança e alto desempenho.
Objetivo
Ao participar do Curso Docker Containerization, os participantes aprenderão:
- O que é Docker e quando usá-lo
- Arquitetura de contêineres e microsserviços
- Obtendo, instalando e configurando o Docker
- Arquitetura Docker
- Criando imagens Docker
- Iniciando e Parando Contêineres
- Integração Contínua para Docker
- Docker Compose - definindo e executando aplicativos Docker de vários contêineres
- Hosts virtuais com máquina Docker
- Docker Engine em modo Swarm
Publico Alvo
- Desenvolvedores de software e administradores de sistemas
Pre-Requisitos
- Experiência de uso de Windows ou Linux com linha de comando
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico
Introduction
- What is Docker?
- Alternatives to Docker
- The evolution of containers
- How containers work
- Containers and Microservices Architecture
Getting started
- Installing Docker
- Configuring Docker
- Running your first container
Docker Components
- Docker Client
- Docker Daemon
Docker Images
- What is an image
- What does an image contain
- Repositories
- Versioning and Tags
- Docker images
Docker Hub
- What is the Docker Hub
- Creating an account
Docker run
- Overview
- Terminal Access
- Detached mode
Processes
- Process Ids
- Within a container
- PID
- Docker ps
Logging
- Docker logs
- follow
Port mapping
- Overview
- Simple port mapping
Building Images with Container Commits
- Read Only and Write layers, Copy on write
- Docker commit
Dockerfile
- Introduction
- Instructions and images
- FROM
- RUN
- Docker build
- obuild contexts
- CMD
- EXEC
- ENTRYPOINT
Starting and Stopping Containers
- Docker ps
- Docker start
- Docker stop
Getting terminal access
- Docker exec
Removing Images
- Docker rmi
Docker Hub Repositories
- Docker tag
- Docker push
- Docker pull
Volumes
- Docker run /v
- VOLUME
- Do’s and Don’ts
Port Mapping
- Docker run -P
- Docker run -p
- EXPOSE
Linking
- Introduction
- Docker --link
Continuous Integration
- Building Images
- Docker Hub Auto Build
Debugging Containers
- Using a volume for logging
- Docker inspect
Docker Daemon
- Starting and Stopping the Daemon
- Configuration
- Logging Level
Docker Compose
- What is Docker Compose and when should I use it
- Swarm Mode vs non Swarm Mode
Installation
- Installing docker-compose
- Command line completion
Introduction to docker-compose.yml
- Validation using docker-compose config
Running a multi-service application
- Starting containers (up)
- Stopping Container (down)
- Listing Processes
- Service names vs Container Names
Other Service Lifecycle commands
- stop
- pause
- unpause
- restart
- kill
Accessing details of a service
- port
- top
More useful Docker Compose commands
- exec
- images
- pull
- push
- rm
- run
Logging
- using docker-compose logs
Other commands
- bundle
- events
Environment Variables
- System environment variables
- .env file
Building services using docker-compose.yml
- File format versions
- Building Images (build)
- Specifying Images
- Healthchecks and Dependencies
- Network Configuration and Ports
- Commands and Entrypoints
- Environment Variables
- Isolation Technologies
- Labels
- Service specific logging
- Secrets
- Controlling Shutdown Signals
- Volumes
- Restart policies
Docker Machine
- What is Docker Machine
- Overview of Docker Machine
Installation
- Configuring a terminal
- Choosing a base operating system
- Install a docker machine on VirtualBox
- AWS Docker Machine
- Digital Ocean docker machine
Querying machine information
- ip
- inspect
- url
- status
Starting and Stopping a docker machine
- start
- stop
- restart
- kill
Accessing a docker machine
- ssh
- scp
Upgrading a docker machine
Docker Swarm
What is Docker Swarm
- Cluster management
- Decentralized design
- Declarative service model
- Scaling
- Desired state reconciliation
- Multi-host networking
- Service discovery
- Load balancing
- Secure by default
- Rolling updates
Key Concepts
- Swarm Mode
- Manager Node
- Worker Nodes
- Global Services
- Worker Services
- Tasks
- Ingress Load Balancing
Single node swarm
Monitoring a swarm
- Using portainer.io
- Other options
Multi node swarm
Modifying a swarm
- Adding nodes
- Removing nodes
Deploying services
- Deploying services
- Inspecting services
- Scaling services
- Removing services
- Apply rolling updates
Removing Nodes
- Draining a node
Routing Mesh
Managing Secrets
Autolocking
Overlay Networking
Raft
Docker Compose in Swarm Mode
docker-compose.yml
- deploy
- Creating a registry
- stack deploy
TENHO INTERESSE