Docker: mudanças entre as edições
Linha 41: | Linha 41: | ||
docker rmi imagem | docker rmi imagem | ||
==Configuração de rede== | |||
O Docker usa diferentes ''drivers'' para conectividade em rede https://docs.docker.com/network/: | O Docker usa diferentes ''drivers'' para conectividade em rede https://docs.docker.com/network/: | ||
* bridge: Configuração ''default'', cria contêiner dentro da sub-rede (172.17.0.0/16): https://docs.docker.com/network/bridge/ | * bridge: Configuração ''default'', cria contêiner dentro da sub-rede (172.17.0.0/16): https://docs.docker.com/network/bridge/ | ||
Linha 50: | Linha 50: | ||
**Tutorial: https://docs.docker.com/network/network-tutorial-macvlan/ | **Tutorial: https://docs.docker.com/network/network-tutorial-macvlan/ | ||
*none: Desabilita rede. | *none: Desabilita rede. | ||
===Teste bridge com Linux alpine=== | |||
Referência: <ref>https://docs.docker.com/network/network-tutorial-standalone/</ref> | |||
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== | ==Referências== |
Edição das 12h46min 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
Instalação do Docker no Ubuntu 18.04
- https://docs.docker.com/install/linux/docker-ce/ubuntu/
- https://docs.docker.com/install/linux/linux-postinstall/
Verificar status da instalação:
sudo systemctl status docker
Hello Wolrd:
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êiners ativos:
docker container ps (-a todos os contêiners, ativos e inativos)
Voltar 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/:
- bridge: Configuração default, cria contêiner dentro da sub-rede (172.17.0.0/16): https://docs.docker.com/network/bridge/
- host: Usa a configuração de rede do host diretamente: https://docs.docker.com/network/host/
- macvlan: Atribui um MAC address ao contêiner e faz ele aparecer como uma rede física: https://docs.docker.com/network/macvlan/
- none: Desabilita rede.
Teste bridge com Linux alpine
Referência: [1]
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)