Docker: Trabalhando com Containers
Como instalei em um Windows 7, vou executar o Docker QuickStart Terminal.
                        ##         .
                  ## ## ##        ==
               ## ## ## ## ##    ===
           /"""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
           \______ o           __/
             \    \         __/
              \____\_______/
 
 docker is configured to use the default machine with IP 192.168.99.100
 For help getting started, check out the docs at https://docs.docker.com
 
 Start interactive shell
 
 ebasso@ebasso MINGW64 ~
 
Lembre-se do ip fornecido acima. Vou referenciar abaixo com IP_DOCKER_CONTAINER
A seguir temos os principais comandos que utilizamos
Iniciando com os containers
- Download de um container com busybox
 
docker pull busybox
- Executa o comando echo dentro do Busybox
 
docker run busybox echo 'Hello World!'
- Ping www.uol.com.br from busybox
 
docker run busybox ping www.uol.com.br
- Executa um bash em um container com Ubuntu
 
docker run -it ubuntu /bin/bash
Atividades mais práticas
Executa o container webserver com o nginx, mapeando a porta 80 para a 8000
docker run -p 8000:80 --name webserver nginx
para colocar como daemon adicionamos o paramêtro "-d"
doker run -d -p 8000:80 --name webserver nginx
Basta você acessar pelo browser, usando o endereço http://<IP_DOCKER_CONTAINER>:8000.
Listando os containers
docker ps
Options:
 -a, --all             Show all containers (default shows just running)
 -f, --filter value    Filter output based on conditions provided (default [])
     --format string   Pretty-print containers using a Go template
     --help            Print usage
 -n, --last int        Show n last created containers (includes all states) (default -1)
 -l, --latest          Show the latest created container (includes all states)
     --no-trunc        Don't truncate output
 -q, --quiet           Only display numeric IDs
 -s, --size            Display total file sizes
Parando um container
docker stop CONTAINER
onde CONTAINER pode ser o container id ou o nome do container
Removendo um container
docker rm CONTAINER
Opções:
- -f, --force Force the removal of a running container (uses SIGKILL)
 
Uma dica que podemos remover vários containers de uma vez, usando a combinação de comandos:
docker rm -f $(docker ps -qa)
Listando os logs de um container
docker logs [OPTIONS] CONTAINER
Opções:
- --details Show extra details provided to logs
 - -f, --follow Continua lendo. Igual ao comando tail -f
 - -t, --timestamps Show timestamps
 
Outras opções importantes
Attach to a running container
docker attach [OPTIONS] CONTAINER
Usado quando colocamos um container com o daemon.
Listando as portas mapeadas dentro de um container
docker port CONTAINER [PRIVATE_PORT[/PROTO]]
Verificar por mudanças no sistema de arquivo
docker diff CONTAINER
Copiando arquivos entre o Sistema Operacional e o Container
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
Inspecionando detalhes de um container
docker inspect [OPTIONS] CONTAINER|IMAGE|TASK [CONTAINER|IMAGE|TASK...]