Docker

Description

Técnico Devops (Docker) Mind Map on Docker, created by Tiago De Souza on 25/01/2021.
Tiago  De Souza
Mind Map by Tiago De Souza, updated more than 1 year ago
Tiago  De Souza
Created by Tiago De Souza almost 5 years ago
15
0

Resource summary

Docker

Annotations:

  • É o encapsulamento de um SO linux muito leve em um pacote chamado container. Dentro desse container é possível ter instalado as dependências da minha aplicação. E eu subo para o servidor o container inteiro.
  1. Imagem

    Annotations:

    •    A imagem é como uma receita com as instruções para criar o container.   
    1. Container
      1. CLI
        1. docker ps

          Annotations:

          • Retorna os containers ativos
          1. docker ps -a

            Annotations:

            • Retorna os containers ativos e os inativos.
            1. docker start id_do_container
              1. docker stop
                1. docker rm id_do_container
                2. docker run nome_da_imagem

                  Annotations:

                  • Comando que baixa image e inicia um container.
                  1. Atributos
                    1. -d

                      Annotations:

                      • Detached, não trava o terminal enquanto roda o comando.
                      1. -p porta:porta

                        Annotations:

                        • Defini a porta que o container será exposto. 
                        1. -e PARAMETRO=VALOR

                          Annotations:

                          • Permite passar parâmetros.
                          1. -name nome_do_container
                          2. Dockerfile

                            Annotations:

                            • É um arquivo com instruções para criar uma imagem.
                            1. Parâmetros
                              1. FROM

                                Annotations:

                                • Com o from definimos de onde vem a nossa imagem base, se não passarmos a versão da imagem ele pega a última versão.
                                1. WORKDIR

                                  Annotations:

                                  • Define onde dentro do container será executado os comandos.
                                  1. COPY

                                    Annotations:

                                    • Ele vai copiar o que especificarmos, no caso o ponto diz que é todo o conteúdo e para onde, no caso para a pasta app dentro do container.
                                    1. RUN

                                      Annotations:

                                      • Executa comandos para criação da imagem, como comandos de instalação das dependências.
                                      1. EXPOSE

                                        Annotations:

                                        • Define qual a porta interna do container será exposta para que a porta externa acesse.
                                        1. CMD

                                          Annotations:

                                          • Qual comando será executado quando o container for iniciado. Como por exemplo iniciar a aplicação (ex: pipenv run python main.py)
                                        2. Docker Compose

                                          Annotations:

                                          • É um orquestrador de containers. Permitindo criar imagens e rodar containers.
                                          1. CLI
                                            1. docker-compose ps

                                              Annotations:

                                              •    Exibe os containers executando pelo docker-compose.   
                                              1. docker-compose up -d

                                                Annotations:

                                                • Crias as imagens e executa os os containers.
                                                1. docker-compose down

                                                  Annotations:

                                                  • Para os containers e os remove.
                                                2. docker-compose.yml

                                                  Annotations:

                                                  • É o arquivo com as instruções de criação. Ele tem instrução .yml semelhante a um json.
                                                  1. version

                                                    Annotations:

                                                    • É preciso definir a versão do docker-compose, existem diversas compativeis com docer engines especificas.
                                                    1. services

                                                      Annotations:

                                                      • Dentro de services ficará cada container.
                                                      1. container a partir de dockerfile

                                                        Annotations:

                                                        • O nome do serviço é colocado como parâmetro.
                                                        1. build

                                                          Annotations:

                                                          • Insira o diretório que contém o dockerfile.  
                                                          1. Se você alterou o nome do dockerfile

                                                            Annotations:

                                                            • Se você alterou o nome do arquivo, insira esses dois parametros.
                                                            1. context

                                                              Annotations:

                                                              • Pasta onde vai ser montado a imagem.
                                                              1. dockerfile

                                                                Annotations:

                                                                • Nome do arquivo
                                                            2. container_name
                                                              1. ports

                                                                Annotations:

                                                                • Mapear a porta que iremos expor para a porta dentro do container que queremos ligar.
                                                                • ports:     - "5000:3000" No caso a porta 5000 ficará exposta e se comunicará direto com a 3000 de dentro do container.
                                                                1. volumes
                                                                2. container a partir de imagem

                                                                  Annotations:

                                                                  • Para a criação de containers simples, é possível criar direto a partir de imagem. Busque os paramêtros corretos na página da imagem.
                                                                  1. image

                                                                    Annotations:

                                                                    • É passado uma parametro image onde se definira o nome da imagem.
                                                                    1. container_image

                                                                      Annotations:

                                                                      • O nome do container.
                                                                      1. environment

                                                                        Annotations:

                                                                        • Lista de variaveis de ambiente com suas chaves e respectivos valores
                                                                        1. restart
                                                                    2. Volumes
                                                                      1. Bind Volumes
                                                                        1. Depende de uma estrutura de diretório no docker host
                                                                        2. Volumes
                                                                          1. São gerenciadas pelo Docker Host
                                                                  2. Portas
                                                                    1. localhost 0.0.0.0

                                                                      Annotations:

                                                                      • Para uma aplicação que quer acessar o locahost, deve definir o host como 0.0.0.0
                                                                  3. CLI
                                                                    1. docker images
                                                                      1. docker rmi nome_da_imagem
                                                                    Show full summary Hide full summary

                                                                    Similar

                                                                    Backend - Guia de estudos
                                                                    Roniel Gomes
                                                                    Infraestrutura Ágil
                                                                    Luis Felipe Guariento
                                                                    DevOps
                                                                    Diego Souza
                                                                    want to learn
                                                                    Nei Rauni Santos
                                                                    Docker básico
                                                                    Felipe Alexandre
                                                                    Exemplo de Mudança de movendo no Pipeline - Livro Entrega Contínua
                                                                    Luis Felipe Guariento
                                                                    DevOps Foundation (basic)
                                                                    Emerson Jollo