Docker: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Linha 22: Linha 22:
*https://docs.docker.com/install/linux/linux-postinstall/
*https://docs.docker.com/install/linux/linux-postinstall/


Verificar status da instalação:
Verificar '''''status''''' da instalação:
  sudo systemctl status docker
  sudo systemctl status docker


Hello Wolrd:
'''''Hello World''''':
  sudo docker run hello-world  
  sudo docker run hello-world  
:Quando manda rodar uma aplicação ou sistema o Docker verifica se há imagem está disponível localmente, se não, faz o download e em seguida executa.
:Quando manda rodar uma aplicação ou sistema o '''Docker''' verifica se há '''imagem''' está disponível localmente, se não, faz o '''''download''''' e em seguida '''executa'''.


Iniciar uma máquina Ubuntu em um contêiner:
'''Iniciar''' uma máquina '''Ubuntu''' em um contêiner:
  docker run -it --name ubuntu1 ubuntu
  docker run -it --name ubuntu1 ubuntu
:A opção -i abre terminal interativo, a opção -d roda em segundo plano.
:A opção -i abre terminal interativo, a opção -d roda em segundo plano.


Colocar contêiner em segundo plano:
Colocar contêiner em '''segundo plano''':
  CTRL-p CTRL-q
  CTRL-p CTRL-q


Listar contêiners ativos:
'''Listar''' contêineres ativos:
  docker container ps (-a todos os contêiners, ativos e inativos)
  docker container ps (-a todos os contêineres, ativos e inativos)


Voltar ao terminal do contêiner:
'''Atachar''' ao terminal do contêiner:
  docker attach ubuntu1
  docker attach ubuntu1


Parar e remover contêiner:
'''Parar''' e '''remover''' contêiner:
  docker stop ubuntu1
  docker stop ubuntu1
  docker rm ubuntu1
  docker rm ubuntu1


Listar imagens:
'''Listar imagens''':
  docker images
  docker images
 
'''
Remove imagens
Remove''' imagens
  docker rmi imagem
  docker rmi imagem



Edição das 17h05min de 7 de abril de 2020

Docker

Docker é um Contêiner, que é uma unidade padronizada de software que permite aos desenvolvedores isolar suas aplicações do meio no qual vai rodar.

A imagem de um contêiner Docker é leve, roda de forma independente e possui todas os requisitos necessários para rodar as aplicações, como códigos, ferramentas de sistema, bibliotecas e configurações.

https://www.docker.com/resources/what-container

Docker - Conceitos Básicos

Conceitos Básicos [1]:

  • Image: Uma imagem define o sistema operacional base, pacotes, ambiente, configuração, bibliotecas e tudo aquilo que for necessário para rodar uma aplicação.
  • Container: É uma instância criada de uma imagem rodando com comando apropriado. De uma imagem muitas instâncias podem ser criadas.
  • Dockerfile: É um arquivo com os passos para construir uma imagem a partir de uma imagem base. Inicia a partir de uma imagem base, realiza atualizações do sistema, instala pacotes, ajusta o ambiente e configurações, copia arquivos relacionados a aplicação, e com um comando default opcional, roda a aplicação.
  • Dockerhub: É um repositório de onde podemos baixar ou subir imagem.

Instalação e teste

Instalação do Docker
Ubuntu 18.04

Verificar status da instalação:

sudo systemctl status docker

Hello World:

sudo docker run hello-world 
Quando manda rodar uma aplicação ou sistema o Docker verifica se há imagem está disponível localmente, se não, faz o download e em seguida executa.

Iniciar uma máquina Ubuntu em um contêiner:

docker run -it --name ubuntu1 ubuntu
A opção -i abre terminal interativo, a opção -d roda em segundo plano.

Colocar contêiner em segundo plano:

CTRL-p CTRL-q

Listar contêineres ativos:

docker container ps (-a todos os contêineres, ativos e inativos)

Atachar ao terminal do contêiner:

docker attach ubuntu1

Parar e remover contêiner:

docker stop ubuntu1
docker rm ubuntu1

Listar imagens:

docker images

Remove imagens

docker rmi imagem

Configuração de rede

O Docker usa diferentes drivers para conectividade em rede https://docs.docker.com/network/:

Rede bridge com Alpine Linux

Referência: [2]

Lançar duas máquinas alpine no Docker:

docker run -dit --name alpine1 alpine ash
docker run -dit --name alpine2 alpine ash

Verificar os contêineres iniciados:

docker container ls

Inspecionar a configuração de rede dos contêineres:

docker network inspect bridge 
Próximo ao topo está a sub-rede da bridge (172.17.0.0/16) e o gateway (172.17.0.1) entre o host do Docker e a bridge.
Cada alpine tem seu endereçamento IP pertencente a esta bridge.

Acessar o terminal de cada alpine:

docker attach alpine1

Verificar endereçamento IP:

ip addr show

Testar conectividade:

ping 172.17.0.1 (host Docker)
ping 172.17.0.2 (alpine2)
ping google.com

Parar e remover máquinas alpine:

docker container stop alpine1 alpine2
docker container rm alpine1 alpine2

Referências

Evandro.cantu (discussão) 13h48min de 3 de abril de 2020 (-03)