DEV Community

loading...

ūüź≥Docker#01 Instala√ß√£o e Primeiros Passos - Parte 1

David Silva
S√≥ t√ī a passeio
„ÉĽ5 min read

Neste artigo vamos começar a colocar a mão na massa, instalando e aprendendo alguns comandos básicos.

Antes de começar a instalação vamos falar de alguns pontos importantes em relação ao sistema operacional do host.

Até a algum tempo atrás você só conseguia rodar o Docker no Windows instalando o VirtualBox. Isso já melhorou e agora o Docker roda de forma nativa no Windows também, assim como no Linux que sempre rodou.

Em contrapartida, se voc√™ usa Mac como eu, precisar√° instalar o VirtualBox para rodar o Docker e, vai por mim, fica uma belezura mas s√≥ quando t√° desligado ūü§£. √Č s√≥ ligar que fica horr√≠vel. Dependendo do quanto voc√™ vive fazendo build, sua maquina vai fritar, ficar lenta e muito ruim para trabalhar. Para voc√™ ter id√©ia, eu acabei instalando o Ubuntu no Macbook Pro 2015 para poder trabalhar melhor, e agora sim ficou √≥timo!

Eu não uso Windows há anos e até te recomendaria usar Linux para usar o Docker, mas como agora também roda sem VirtualBox lá, imagino que possa rodar bem também. Se você testar, deixe seu comentário aqui para sabermos!

Como instalar o Docker?

Honestamente não vejo motivos para gastar tanto texto explicando os passos da instalação, então vou resumir e apontar os links oficiais caso você precise de ajuda extra.

Docker no Linux

Há um script oficial maroto que faz todo o trabalho para você:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Você terá o docker instalado mas seu usuário comum ainda não terá acesso aos comandos principais do Docker. E, por favor, não ache que usar sudo para tudo na sua própria máquina seja normal, sua vida será melhor se as coisas forem mais simples*.

PS: Não significa fazer seu usuário ser root também, ok? Mas o básico para seu trabalho acontecer, coisas que você faz toda hora, pode sim ser mais fácil.

Coloque seu usu√°rio no grupo do docker para poder rodar os comandos:

sudo usermod -aG docker $USER

Reinicie sua m√°quina.

Oracle Linux

Recentemente precisei fazer a instalação em uma distribuição Oracle Linux e o setup padrão não funcionou, se for o seu caso, este outro artigo pode ajudá-lo.

Docker no MacOs

Você precisará ter o VirtualBox instalado e o procedimento de instalação será o mesmo do Docker (arrastar do finder). O link para download está aqui.

Clique aqui, baixe o .dmg clicando no bot√£o azul "Get Docker Desktop for Mac (Stable)".

Faz aquela super instalação super complexa que só no mac é possível.

Instalação do Docker no MacOs - Arrastar para instalar do Finder

Docker no Windows

Clique aqui, baixe o .exe clicando no bot√£o azul "Get Docker Desktop for Windows (stable)".

Espere baixar e faz o de sempre, execute, next, next, finish.

Primeiros comandos no Docker

Com o Docker instalado (uhu!) agora podemos começar a desbravar essa aventura.

Vamos começar listando e explicando o funcionamento básico de alguns comandos básicos, priorizando os mais utilizados no (meu) dia a dia. Alguns comandos terão artigos dedicados, por isso aqui vamos falar apenas dos mais simples.

docker ps

Em breve come√ßaremos a criar containers e precisaremos gerenciar suas inst√Ęncias, para isso o docker ps pode nos ajudar.

O ps nos permite visualizar quase tudo em relação aos containers:

# Listar containers em execução
docker ps

# Listar containers em execução e parados
docker ps -a

# Listar somentes os Ids dos containers em execução
docker ps -q

# Listar apenas os nomes e ids dos containers ativos
docker ps --format "{{.ID}}: {{.Names}}"

Com este √ļltimo comando voc√™ pode formatar dos dados para melhorar a visualiza√ß√£o e te dar mais poder quando precisar fazer scripts para automatizar as coisas.

Para mais exemplos de formatação no ps clique aqui.

docker pull

Como falamos no artigo anterior, os containers precisam de imagens para existir, que s√£o registradas/gravadas/armazenadas em um servidor (p√ļblico ou privado), geralmente chamado de Registry.

Existem muitas imagens oficiais e não oficiais que podem facilitar sua vida, você as encontrará no DockerHub.

# Baixando uma imagem latest
docker pull ubuntu

# Baixando uma imagem com tag
docker pull ubuntu:14.04

Você pode especificar qual é a tag da imagem, caso queira alguma especifica, ou simplesmente ter a latest por padrão.

# Ver imagens baixadas
docker images

Nota: Esses comandos padr√Ķes do docker v√£o trazer as imagens direto do DockerHub, por√©m, se voc√™ especificar o caminho do seu pr√≥prio registry.

docker pull myregistry.local:5000/testing/test-image

Indo além: Já parou para pensar que o seu servidor de produção poderia ter apenas a imagem mais atualizada ao invés de toda a sua aplicação? Imagine quão rápido seria colocar uma versão e até mesmo retornar a outra anterior?
Se quiser saber mais sobre isso que, a propósito também é possível sem Docker, procure por Blue Green Deploy e Canary Release.

docker run

J√° sabemos que existem imagens e agora precisamos us√°-las.

O comando docker run é o cara que cria o container para nós.

# Cria container com a imagem ubuntu
docker run ubuntu

Perceba que rodar isso vai criar um container e, em seguida, ele vai parar. Isso acontece por que não há nenhum processo no interior do container em execução e, de que adiantaria um container sem ação?

Se você der um docker ps -a vai ver que o container está lá, porém, parada com STATUS Exit (0) x seconds ago. Ou seja, ele foi criado, subiu e morreu.

Para que este teste seja funcional, vamos fazer algo assim:

docker run -ti ubuntu bash

Isso vai te devolver um terminal interativo de dentro do container.
√Č literalmente um sistema operacional isolado a√≠. Voc√™ pode dar um ls /home e vai perceber que n√£o tem nada, diferente do seu pr√≥prio ambiente, por exemplo.

Sabe aquele rm -rf / que tanto se zoa?! Você pode rodar aí dentro.

Se você tiver com medo, ok. Eu fiz, veja:

apagando tudo dentro do container

Perceba que, na primeira linha, é minha maquina david@david-MacBookPro e depois já estou dentro do container.

Na √ļltima linha n√£o √© poss√≠vel mais usar o bin√°rio ls pois ele foi exclu√≠do.

Agora perceba que eu posso sair (CTRL+D) e entrar de novo no container e ele ter√° tudo de volta.

retornando ao container após deletar tudo

Isso foi apenas um hello world básico. Em breve avançaremos mais.

O docker run possui diversos par√Ęmetros √ļteis, considere que ele √© o cara que cria o container e precisamos de muitas coisas para nossas aplica√ß√Ķes funcionarem, alguns exemplos s√£o as portas de redes, montagem de volumes de dados, limites de mem√≥ria, etc.

Eu montei este outro artigo que √© somente o retorno do docker run --help traduzido e com alguns considera√ß√Ķes.

Op√ß√Ķes do Comando Docker Run

Vamos parando por aqui pois j√° est√° extenso demais!

Se alguma coisa aqui foi √ļtil pra voc√™, deixe seu coment√°rio!

Até a próxima.

Discussion (0)

Forem Open with the Forem app