Saturday, January 23, 2016

Tutorial Docker - 3/3

Terceiro e último post sobre comandos e utilização de Docker.
Link para o Parte 1 e Parte 2

Comandos


Executar um comando
O comando será executado sem efetivamente entrar no container

$ docker exec <ID_CONTAINER> ps -ef

Execução de comando com interface interativa

$ docker exec -ti 2e98aab60f7c /bin/bash


Inspecionar o container

$ docker inspect <ID_CONTAINER>


Informações do container
Verificar o quanto o container esta utilizando de processador, memória e rede

$ docker stats <ID_CONTAINER>


Link entre container
Criar um container com um nome e ligação de rede com outro container. Dessa forma o novo container irá localizar o outro passado pelo link através do seu nome.

$ docker run -ti --name node1 --link <NAME OR ID>:ALIAS ubuntu:14.10

ou

$ docker run -ti --name node1 --link <NAME OR ID> ubuntu:14.10

Exemplo:

$ docker run -d --name node1 ubuntu:14.10 mysql

$ docker run -ti --name node2 --link node2 ubuntu:14.10 bash


Controle de uso do Hardware


CPU
O parâmetro -c quantidade de processamento que o container irá utilizar.

Em testes realizados foi possível constatar que esse valor não limita o uso do processador mas sim a sua prioridade de utilização. Sendo assim o container utiliza o máximo do processador disponível e o escalona quando necessário.

$ docker run -c 10 -it ubuntu /bin/bash

Memória
Utilizando o parâmetro -m seguido da quantidade <NUMERO><UNIDADE>.

As unidades podem ser b,k,m ou g == byte, kilobyte, megabyte e gigabyte

$ docker run -m 1024m -dit ubuntu /bin/bash


Volumes
Utilizar/Compartilhando o diretório de outro container ou do próprio host.

Nesse processo os arquivos contidos no host irão ser compartilhados com o container. O valor passado é o path do arquivo/diretório do host e o path do container separados por :. Exemplo -v path_host:path_container

$ docker run -v /etc/folder:/etc/folder --name data_only ubuntu

Compartilhando mais de um arquivo/diretório.

$ docker run -v /etc/folder:/etc/folder -v /home/user:/root --name data_only ubuntu

Também é possível compartilhar os arquivos existentes em outros container com --volume-from.

$ docker run -ti --volumes-from data_only ubuntu bash


Copiar Arquivos

$ docker cp arquivos_host ID_CONTAINER:path_container

Remove
Remover todos os containers em stand-by ou finalizados no computador.

$ docker rm $(docker ps -aq)

No comments:

Post a Comment