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://:8000.

Listando os containers
docker ps

Opções:
 * -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

Removendo um container
docker rm CONTAINER

Opções:
 * -f, --force    Force the removal of a running container (uses SIGKILL)

Dica: 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

Parando um container
docker stop CONTAINER

onde CONTAINER pode ser o container id ou o nome do container

= Outras opções importantes =

Exportando um container para um arquivo .tar
docker export -o busybox.tar

Carregando uma imagem através de um arquivo .tar
docker load -i busybox.tar

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...]

= Ver também =


 * Docker: Trabalhando com Imagens
 * Artigos sobre Cloud
 * Mais Artigos sobre Cloud / WebDev / Tecnologias