Tutorial do Docker para iniciantes: noções básicas, Archiarquitetura, contêineres
O que é Docker?
Estivador é uma plataforma de desenvolvimento de software para virtualização com múltiplos Operasistemas em execução no mesmo host. Ajuda a separar infraestrutura e aplicativos para entregar software rapidamente. Ao contrário dos hipervisores, que são usados para criar VM (máquinas virtuais), a virtualização no Docker é realizada no nível do sistema, também chamados de contêineres Docker.
Como você pode ver a diferença na imagem abaixo, os contêineres do Docker são executados sobre o host Operasistema de ção. Isso ajuda você a melhorar a eficiência e a segurança. Além disso, podemos executar mais contêineres na mesma infraestrutura do que máquinas virtuais porque os contêineres usam menos recursos.

Ao contrário das VMs que podem se comunicar com o hardware do host (ex: adaptador Ethernet para criar mais adaptadores virtuais), os contêineres Docker são executados em um ambiente isolado sobre o sistema operacional do host. Mesmo que seu host execute Windows SO, você pode ter imagens do Linux rodando em contêineres com a ajuda de Hyper-V, que cria automaticamente pequenas VMs para virtualizar a imagem base do sistema, neste caso, Linux.
Por que usar o Docker?
- Docker é um software de computador usado para virtualização para ter vários Operasistemas de trabalho rodando no mesmo host
- Docker é o tipo de aplicativo cliente-servidor, o que significa que temos clientes que retransmitem para o servidor
- As imagens Docker são o “código-fonte” de nossos contêineres; nós os usamos para construir
- Dockerfile tem dois tipos de registros 1.) registros públicos e 2) registros privados
- Contêineres são as unidades organizacionais do volume Docker. Em termos simples, uma imagem é um modelo e um contêiner é uma cópia desse modelo. Você pode ter vários contêineres (cópias) da mesma imagem.
Estivador Archiarquitetura
Agora, neste tutorial de contêiner do Docker, vamos falar sobre os principais componentes do Docker no Docker Architextura:
Motor Docker
Docker é o tipo de aplicativo cliente-servidor, o que significa que temos clientes que retransmitem para o servidor. Portanto, o daemon Docker chamado: dockerd é o mecanismo Docker que representa o servidor. O daemon docker e os clientes podem ser executados no mesmo host ou em um host remoto e se comunicam por meio do binário do cliente de linha de comando, bem como de um sistema completo API RESTful para interagir com o daemon: dockerd.
Imagens Docker
As imagens Docker são o “código-fonte” de nossos contêineres; nós os usamos para construir contêineres. Eles podem ter software pré-instalado que acelera a implantação. Eles são portáteis e podemos usar imagens existentes ou construir as nossas próprias.
Registros do Docker
Docker armazena as imagens que construímos em registros. Existem registros públicos e privados. A empresa Docker possui registro público chamado Hub do Docker, onde você também pode armazenar imagens de forma privada. O Docker Hub possui milhões de imagens, que você pode começar a usar agora.
Contêineres Docker
Contêineres são as unidades organizacionais e um dos conceitos básicos do Docker. Quando construímos uma imagem e começamos a executá-la; estamos executando em um contêiner. A analogia do contêiner é usada devido à portabilidade do software que executamos em nosso contêiner. Podemos movê-lo, ou seja, “enviar” o software, modificá-lo, gerenciá-lo, criá-lo ou desfazê-lo, destruí-lo, assim como os navios cargueiros podem fazer com contêineres reais.
Em termos simples, uma imagem é um modelo e um contêiner é uma cópia desse modelo. Você pode ter vários contêineres (cópias) da mesma imagem.
Abaixo temos uma imagem que representa perfeitamente a interação entre os diferentes componentes e como funciona a tecnologia de contêiner Docker.
O que temos vários comandos dockers docker pull, docker run.. falaremos mais sobre isso mais tarde.
Como instalar o Docker no Linux/Ubuntu
Abaixo está um processo passo a passo de instalação do Docker no Linux/Ubuntu:
1º Passo) Para instalar o Docker, precisamos usar os pacotes DEB da equipe Docker.
Para isso, alguns pré-requisitos Ubuntu pacotes são necessários.
Use o comando abaixo para instalar Ubuntu pacotes
$ sudo apt-get install \ apt-transport-https \ ca-certificates curl \ software-properties-common
*o sinal “\” não é necessário ele é usado para a nova linha, se quiser você pode escrever o comando sem usar “\” em apenas uma linha.
Passo 2) Adicione a chave oficial do Docker GPG com a impressão digital.
Use o comando Docker abaixo para inserir a chave GPG
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Passo 3) Em seguida, adicione o repositório Docker APT.
Use o comando Docker abaixo para adicionar o repositório
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
Você pode ser solicitado a confirmar que deseja adicionar o repositório e que a chave GPG seja adicionada automaticamente ao seu host.
O comando lsb_release deve preencher o Ubuntu versão de distribuição do seu host.
Passo 4) Depois de adicionar a chave GPG,
Atualize as fontes APT usando o comando Docker abaixo
$ sudo apt-get update
Agora podemos instalar o próprio pacote Docker.
Passo 5) Assim que as fontes do APT forem atualizadas,
Comece a instalar os pacotes Docker em Ubuntu usando o comando Docker abaixo
$ sudo apt-get install docker-ce
O comando fornecido acima instala o Docker e outros pacotes adicionais necessários. Antes do Docker 1.8.0, o nome do pacote era lxc-docker, e entre o Docker 1.8 e 1.13, o nome do pacote era docker-engine.
NOTA: Docker para Windows exige Windows 10 Pro ou Enterprise versão 14393, ou Windows servidor 2016 RTM para executar
Como usar o Docker usando comandos básicos do Docker
Veja como usar o Docker usando comandos básicos do Docker:
O comando mais básico que devemos executar após instalar o Docker é $ docker info como dissemos anteriormente.
$ sudo docker info
Você deve obter o resultado semelhante ou seguinte
Como podemos ver no exemplo do Docker acima, temos informações sobre os contêineres do Docker, quantos estão em execução, pausados ou parados e quantas imagens baixamos. Então, vamos obter nossa primeira imagem neste tutorial de comandos do Docker.
$ sudo docker pull alpine
Com este comando estamos dizendo ao docker para baixar a imagem alpine, para retirá-la do registro público, a versão mais recente que é definida por padrão.
*alpine é uma imagem Docker mínima baseada em Alpine Linux com um índice de pacote completo e apenas 5 MB de tamanho.
Se quisermos executar a imagem como um contêiner, usaremos o seguinte comando neste guia de tutoriais do Docker.
$ sudo docker run -i -t alpine /bin/bash
Se executarmos o comando, seremos enviados diretamente para o terminal do Alpine. O sinalizador -i mantém o STDIN aberto no contêiner, mesmo quando você não está conectado a ele. Essa entrada padrão persistente é metade do que você precisa para um shell interativo. O sinalizador -t é a outra metade e instrui o Docker a atribuir um pseudo-tty ao contêiner. Isso nos oferece um shell interativo no novo contêiner. Saímos do contêiner com um simples comando de saída.
Agora, neste tutorial básico do Docker, podemos tentar executar um Ubuntu imagem.
$ sudo docker run -it ubuntu /bin/bash
Você pode notar verificações do docker para a imagem localmente e, se não estiver lá, a imagem é extraída da biblioteca de imagens automaticamente e, mais uma vez, temos um shell interativo em execução. Também podemos nomear os contêineres à medida que os executamos.
$ sudo docker run –-name our_container -it ubuntu /bin/bash
e saímos novamente.
Também podemos executar o contêiner que criamos anteriormente, sem um shell interativo.
$ sudo docker start container_name
E pare o contêiner escrevendo docker stop container_name
$ sudo docker stop container_name
Se quisermos ver todos os contêineres em execução, basta executar
$ docker ps
E para todos os contêineres adicionamos “- a” no final deste mesmo comando, como este docker ps -a.
Este comando mostra o ID do Container, qual imagem está usando quando foi criada, status de execução, portas expostas e nome gerado aleatoriamente para o container para facilitar o gerenciamento.
Quando executamos containers, também gostaríamos de saber quantos recursos eles estão utilizando, para isso podemos utilizar o comando.
$ docker stats
Você também pode ver quais imagens baixamos localmente e informações sobre elas.
$ sudo docker images
O comando no exemplo do Docker acima exibe a imagem do Docker com uma tag que mostra a versão da nossa imagem, um ID de imagem distinto, quando foi criada e o tamanho da imagem.
O que é Virtualização?
Anteriormente, o processo de implantação de um serviço era lento e penoso. Primeiro, os desenvolvedores estavam escrevendo o código; então, a equipe de operações o implantaria em máquinas bare metal, onde teriam que procurar versões de bibliotecas, patches e compiladores de linguagem para que o código funcionasse. Se houvesse alguns bugs ou erros, o processo recomeçaria, os desenvolvedores consertariam e, novamente, a equipe operacional estaria lá para implantar.
Houve uma melhoria com a criação dos Hipervisores. Os hipervisores têm vários Máquinas virtuais ou VMs no mesmo host, que podem estar em execução ou desligados. As VMs diminuíram muito o tempo de espera para implantação de código e correção de bugs, mas a verdadeira virada de jogo foram os contêineres Docker.
Comandos importantes do Docker
Abaixo estão os comandos importantes do Docker:
Command | Descrição |
---|---|
informações da janela de encaixe | Comando de Informação |
puxão de encaixe | Baixe uma imagem |
docker run -i -t nome_imagem /bin/bash | Execute a imagem como um contêiner |
docker iniciar nosso_container | Iniciar contêiner |
docker parar container_name | Parar contêiner |
Docker PS | Lista de todos os contêineres em execução |
estatísticas do docker | Informações do contêiner |
imagens docker | Lista de imagens baixadas |
Limpeza do Docker | Mate todos os contêineres em execução. |
Leia também: Perguntas e respostas da entrevista de emprego do Docker para profissionais mais novos e experientes.
Resumo
- Docker é uma plataforma de desenvolvimento de software para virtualização com múltiplos Operasistemas em execução no mesmo host. Ajuda a separar infraestrutura e aplicativos para entregar software rapidamente.
- Estivador Architextura: Docker Engine, imagens Docker, registros Docker, contêineres Docker.
- Motor Docker: Docker é o tipo de aplicativo cliente-servidor, o que significa que temos clientes que retransmitem para o servidor. Portanto, o daemon Docker chamado: dockerd é o mecanismo Docker que representa o servidor.
- Imagens Docker: As imagens Docker são o “código-fonte” de nossos contêineres; nós os usamos para construir contêineres. Eles podem ter software pré-instalado que acelera a implantação. Eles são portáteis e podemos usar imagens existentes ou construir as nossas próprias.
- Registros Docker: Docker armazena as imagens que construímos em registros. Existem registros públicos e privados. A empresa Docker possui um registro público chamado Docker hub, onde você também pode armazenar imagens de forma privada. O Docker Hub possui milhões de imagens, que você pode começar a usar agora.
- Contêineres Docker: Contêineres são as unidades organizacionais e um dos conceitos básicos do Docker. Quando construímos uma imagem e começamos a executá-la; estamos executando em um contêiner. A analogia do contêiner é usada devido à portabilidade do software que executamos em nosso contêiner.