0

Utilizando Docker

#Docker
D
Daniel Bicalho
Créditos da imagem
"Container City 2, Leamouth, London" by Fin Fahey is licensed under CC BY-SA 2.0


Após a introdução dada no artigo anterior, vamos iniciar alguns procedimentos iniciais com a manipulação de contêineres e imagens Docker.

Caso ainda não tenha feito a instalação, consulte a documentação disponível em: https://docs.docker.com/engine/install/


Após a instalação, o daemon do docker, ou serviço, caso esteja rodando no Windows, ficará executando em plano de fundo aguardando instruções de como proceder com os contêineres.


Algumas convenções do documento

Linhas iniciadas com ‘$’ serão linhas de comandos executáveis. Não precisa digitar o $, é apnas para facilitar o entendimento


Elementos entre ‘<>’ indicam algo variável, que será substituído conforme a demanda ou condição de uso

Elementos em negrito indicam destaques importantes

Elementos em itálico descrevem comandos


O que é uma imagem?

É uma customização de sistema de arquivos, que provê o necessário para a execução da aplicação. As dependências, binários, configurações estão todas dentro desta imagem. Ela pode servir apenas como um modelo, onde você pode alimentar com diferentes parâmetros para personalizar a sua demanda.



Onde obtenho as imagens?

As imagens estão hospedadas em repositórios que você especifica na hora de baixá-las. O repositório padrão é hub.docker.com, onde você pode navegar para encontrar a imagem que deseja.

O que é um contêiner?

Um contêiner é um processo na máquina, que possui camadas de isolamento dos outros processos dentro da máquina hospedeira.

Como baixo uma imagem?

Bom, aqui começa a mão na massa. O docker possui alguns comandos que permite facilitar a gerência de imagens e contêineres. Para conhecer os comandos que utiliza para gerenciar imagens, basta digitar:

$ docker image --help

Vai aparecer uma lista de comandos que podem ser utilizados para manipular imagens. E se você tiver dúvida de como utilizar algum comando, basta digitar

$ docker image <command> --help

Por exemplo, caso queira saber como usar o comando pull

$ docker image pull –help

Após isso, sabemos que para baixar uma imagem, basta digitar

$ docker image pull <nome da image>


A imagem pode ser especificada de acordo com o seguinte

<nome>:<tag>

Geralmente a tag se refere a versão liberada.

Então vamos baixar nossa primeira imagem.

Para vermos o efeito prático, usarei uma imagem do Nginx, um servidor leve de páginas web. Assim podemos fazer acesso tanto interno ao contêiner, quanto externo.

$ docker image pull nginx:latest

Caso eu não especifique qual a versão da imagem, geralmente irá pegar a última versão disponível, ou seja, a mais atualizada.

Será exibido o progresso do download da imagem.

Como executo o contêiner?

Bem, baixei a imagem em meu computador. Mas o que eu faço com ela?

Agora iremos ver alguns comandos de manipulação de contêineres. Assim como temos o gerenciamento das imagens, podemos conhecer os comandos para contêineres da seguinte forma:

$ docker container –help

E caso queira conhecer as especificações de um comando em específico

$ docker container <comando> --help

Agora que sabemos onde buscar ajuda, vamos ao que interessa.

Para executar uma imagem, precisamos conhecer um pouco do comando. Noções básica de rede são interessantes para você não ficar totalmente perdido, ok?!

O comando container pode ser suprimido na maioria dos casos, então para executar, podemos usar apenas

$ docker run -p <porta de exposição do serviço> <nome da imagem>

A porta de exposição geralmente é composta por um par de portas, considerando que a primeira porta é a porta do contêiner e a segunda porta é a do máquina hospedeira, a forma que o contêiner vai se comunicar com o mundo.

Então para executar nossa imagem nginx faremos:

$ docker run -p 80:80 nginx


Ou para executar em segundo plano, usaremos o opção -d:

$ docker run -d -p 80:80 nginx



Para ver o resultado da execução, você pode abrir um navegador de internet e digitar localhost. Irá abrir a página padrão de boas vindas do Nginx.

Como acesso o contêiner que acabei de executar?

Considerando que você utilizou a opção -d você pode executar dentro do mesmo terminal. Caso não, abra um novo terminal para não interromper a execução do seu contêiner.

Para acessar um contêiner utilizaremos o commando run. Para conhecer mais sobre o comando, basta pedir aquela ajuda básica:

$ docker run --help.

Então faremos o seguinte. Utilizaremos as opções -i que permite uma interação com o contêiner e a opção -t que abre um terminal. Especificaremos o comando /bin/bash que é o interpretador de comandos.

$ docker run -it nginx /bin/bash

Você pode explorar a vontade o contêiner. Não possui uma coleção completa de ferramentas CLI, mas possui o suficiente para explorar. Terminando a exploração, basta digitar exit.

Como acesso o serviço que o contêiner provê?

O acesso ao serviço irá depender de que tipo de serviço a imagem provê. Para serviços web, o acesso é geralmente feito pelo navegador, acessando o endereço local e especificando a porta que se quer usar. No caso do Nginx, que é um servidor http padrão, digitar localhost, fará a busca na porta 80, que é padrão para este serviço.

Como paro ou retomo a execução de um contêiner?

Quando saímos de um contêiner, ele não deixa de existir. Continua executando em plano de fundo. Para podermos para a execução do conteiner utilizaremos o comando stop, para retormar utilizaremos o comando start. Mas para isso, precisaremos saber qual o nome ou identificação do contêiner, com isso utilisaremos o comando ps, que lista os contêineres ativos

$ docker container ps

ou simplesmente

$ docker ps

Com a identificação do contêiner, podemos iniciar ou pará-lo, ou acessá-lo de forma mais específica

$ docker stop <id do contêiner>

Para iniciá-lo

$ docker start <id do contêiner>

Como removo o contêiner?

Para remover um contêiner que não quer mais usar é simples, basta utilizar o comando rm.

Após listar o contêiner com o comando ps. Você pode escolher a id e remover

$ docker rm <id do contêiner>

Como removo a imagem?

Caso não queira mais utilizar uma determinada imagem, basta removê-la do seu computador, utilizando o comando image rm.

$ docker image rm



Bom pessoal, espero que este artigo seja útil. Me sigam em meu Linkedin e aqui por aqui para mais novidades.

0
5

Comentários (0)

Pai de dois filhos e casado. Entusiasta de tecnologia. Gosto de sistema opensource e tento trabalhar com tecnologias abertas.

Brasil