Apresentação da ferramenta Docker para o pessoal da Websix. Passos básicos de como iniciar a utilização de containers a seu favor. Padronização de ambiente de desenvolvimento, staging, QA e Produção
4. Container
● Somente o KERNEL é compartilhado com o HOST
● Não roda outro SO dentro da máquina HOST
● Os processos tem PID visíveis apenas dentro do
container (vale também para disco, usuários, rede,
etc)
● Todo esse isolamento é possível graças ao kernel
do Linux, usando features como kernel
namespaces, cgroups etc.
5. DOCKER
● Escrito em Go Language
● Em 2013 a Dot Cloud compartilhou a
ferramenta que utilizava para gerenciar seus
containers e o batizou de Docker.
Posteriormente a empresa adotou o nome da
ferramenta, devido ao grande sucesso da
mesma.
12. Comandos básicos
$ docker ps
● Este comando lista as imagens que estão em execução
$ docker images
● Lista as imagens Docker disponíveis para execução
$ docker run -i -t debian:stable /bin/bash
– Os parâmetros usados neste exemplo:
●
-i container interativo
●
-t cria um pseudo-TTY para stdin e stdout
13. Docker Hub
● Dev-test pipeline automation, 100,000+ free
apps, public and private registries
14. Comandos básicos
● Para sair do bash de um container, deve
apertar a sequência CTRL + P + Q
● Para retornar ao container:
$ docker ps
$ docker attach {CONTAINER_ID}
15. Começando a brincadeira
● Servidor Nginx no container Docker
$ docker run -i -t -p 8080:80 debian:stable /bin/bash
root@12hghgg12g:# apt-get install nginx
root@12hghgg12g:# /etc/init.d/ngnix start
root@12hghgg12g:# ps -ef
Porta 8080 do host (máquina física)
apontando para a porta 80 do container
16. Alterações nas imagens Docker
● Tudo que foi feito anteriormente, caso seja
encerrado o bash (CTRL+D ou exit), será
perdido!
17.
18. Commits
● Verificando as mudanças no container e
criando a sua primeira imagem
$ docker diff {{container_id}}
$ docker commit {{container_id}} nginx/debian:1.0