Docker
Docker é uma plataforma para desenvolvedores e administradores de sistemas criarem, enviarem e executarem aplicativos que:
Permite que você monte aplicativos rapidamente a partir de componentes e elimina o atrito que pode surgir ao enviar o código.
Permite que você teste e implante seu código em produção o mais rápido possível.
Docker simplifica a entrega de software, tornando mais fácil construir e compartilhar imagens que contêm todo o ambiente do seu aplicativo ou sistema operacional do aplicativo.
Instalando o Docker
Docker Desktop: https://docs.docker.com/get-docker/
Docker HUB
O Docker Hub é um serviço fornecido pela Docker Inc para localizar e compartilhar imagens de containers.
Criar conta em: https://hub.docker.com/signup
dockerID: nome do seu repositório que será usado para encontrar suas imagens compartilhadas.
Play with Docker (lab online)
Docker Engine
Imagem
É o componente de construção do Docker.
Imagens são templates somente leitura que definem um sistema operacional de aplicativo a partir dos quais os containers do Docker são iniciados.
Cada imagem começa a partir de uma imagem base, por exemplo ubuntu, uma imagem base do Ubuntu, ou fedora, uma imagem base do Fedora. Você também pode usar suas próprias imagens como base para uma nova imagem, por exemplo, se você tiver uma imagem base de Go, poderá usá-la como base para todas as imagens de seus aplicativos.
Baixando uma Imagem
O comando docker pull faz download de uma imagem compartilhada no docker hub
Listando Imagens
ou
Outros comandos
Container
Container é o componente de execução do Docker e é criado a partir de uma imagem. Essa imagem informa ao Docker o que o container contém, qual processo executar quando for iniciado e uma variedade de outros dados de configuração. A imagem Docker é somente leitura. Quando o Docker executa um container a partir de uma imagem, ele adiciona uma camada de leitura e gravação na parte superior da imagem na qual seu aplicativo pode ser executado.
Um container pode ser executado, iniciado, parado, movido e excluído.
Executando um Container
O Docker Engine tenta encontrar uma imagem chamada hello-world. Ele encontra a imagem e a executa em um container. A única função do hello-world é enviar o texto que você vê em seu terminal.
Listando Containers em Execução
ou
Listando todos os Containers
Outros comandos de Container
Criando uma Imagem
Dockerfile
Docker constrói imagens lendo as instruções de um Dockerfile.
Um Dockerfile é um documento de texto que contém todos os comandos que um usuário pode chamar na linha de comando para montar uma imagem.
O comando docker image build usa esse arquivo e executa todos os comandos em sucessão para criar a imagem.
Comandos do Dockerfile
FROM -> Diz qual imagem base será utilizada
COPY -> Copia multiplos arquivos do contexto local para o container
ENV -> Seta uma variável de ambiente
RUN -> Executa um comando
CMD -> Define o comando a ser executado pelo container
EXPOSE -> Informa as portas de rede que estão escutando
Criando uma Imagem
Crie um diretório chamado helloworld
Abra um editor de texto e crie um arquivo chamado Dockerfile dentro de helloworld com o seguinte conteudo:
Gerando a Imagem
O docker build vai criar uma imagem de nome myhelloworld utilizando o contexto local (.)
Listando a Imagem
Rodando o Container
LetsGo WWG APP
Agora vamos criar uma imagem para compilar e executar nossa APP.
Clonando o repositório
Criando o Dockerfile
Entre na pasta lets-go-wwg-app e crie um arquivo com o nome Dockerfile com o seguinte conteudo:
Gerando a Imagem
Executando o Container
Estamos executando o container no modo interativo sem mapear nenhuma porta
Agora estamos mapeando a porta 3000 do container para a porta 8080 na maquina host
Mapeando para uma porta aleatória na maquina host (só é possivel por causa do EXPOSE)
Executando o Container como Daemon e não mais de forma interativa
Testando
Em outro terminal execute:
Conteúdos Extras
Last updated