Docker - Comandos

From DreamsIT

Uso dos comandos docker



ARQUIVOS[edit | hide all | hide | edit source]

Criar arquivo[edit | hide | edit source]

touch

Ex:

touch exemplo.txt




CONTAINER[edit | hide | edit source]

Container ativos e em execução[edit | hide | edit source]

1. Atuais instalados:

docker container ps


2. Todos os que já foram executados:

docker container ps -a




Correr comandos[edit | hide | edit source]

Usar:

docker container run



Criar container[edit | hide | edit source]

docker container run -it debian bash



Daemon ( Executar container em background)[edit | hide | edit source]

Executando com uma imagem nginx como exemplo. Comando:

docker container run -d --name ex-daemon-basic -p 8080:80 -v $(pwd)/html:/usr/share/nginx/html nginx



Daemon ( Iniciar a execução do container )[edit | hide | edit source]


docker container start ex-daemon-basic




Daemon ( Parar a execução do container )[edit | hide | edit source]


docker container stop ex-daemon-basic

ou pelo id:

docker container stop 887262abff10



Daemon ( Reiniciar a execução do container )[edit | hide | edit source]


docker container restart ex-daemon-basic




Daemon ( Logs )[edit | hide | edit source]


docker container logs ex-daemon-basic



Entrar no terminal do container[edit | hide | edit source]

docker container run -it debian bash




Iniciar ou reiniciar Containers[edit | hide | edit source]

Nesse caso estamos reiniciando o container mystest:

docker container start -ai mytest


Iniciar o Nginx no Docker exemplo[edit | hide | edit source]

Exemplo local

Fazendo uso de portas para baixar a imagem do nginx como exemplo:

docker container run -p 8080:80 nginx


Compreensão:

1ª porta: 8080 é a porta externa que será exposta para fora do container, dando acesso externo.

2ª porta: 80 é a porta interna onde, por exemplo, o nginx será iniciado por padrão.



Iniciar o Nginx no Docker em diretório específico[edit | hide | edit source]

Exemplo local

Apontando a porta do nginx padrão apontando para o diretório que quero.

Compreensão do comando:

pasta do host, que quero mapear, a pwd ( a atual no exemplo) : pasta do container, que quero fazer esse mapeamento que é a not-found, como exemplo, e que apontem para a mesma pasta.


1 exemplo: só para ver funcionamento do apontamento, contudo para uma pasta inexistente (not-found)

docker container run -p 8080:80 -v $(pwd)/not-found:/usr/share/nginx/html nginx


2 exemplo: apontando para a mesma pasta principal. Contudo, agora ao invés de not-found, apontando para o diretório html. No caso, index.html que é criado previamente.

docker container run -p 8080:80 -v $(pwd)/html:/usr/share/nginx/html nginx



Listar Containers[edit | hide | edit source]

1 Criados:

docker container ls

2. Criados independentes do status:

docker container ls -a




Mapear portas[edit | hide | edit source]

Exemplo local

Fazendo uso de portas para baixar a imagem do nginx como exemplo:

docker container run -p 8080:80 nginx


Compreensão:

1ª porta: 8080 é a porta externa que será exposta para fora do container, dando acesso externo.

2ª porta: 80 é a porta interna onde, por exemplo, o nginx será iniciado por padrão.




Mapear diretórios[edit | hide | edit source]

Exemplo local

Apontando a porta do nginx padrão apontando para o diretório que quero.

Compreensão do comando:

pasta do host, que quero mapear, a pwd ( a atual no exemplo) : pasta do container, que quero fazer esse mapeamento que é a not-found, como exemplo, e que apontem para a mesma pasta.


1 exemplo: só para ver funcionamento do apontamento, contudo para uma pasta inexistente (not-found)

docker container run -p 8080:80 -v $(pwd)/not-found:/usr/share/nginx/html nginx

2 exemplo apontando para a mesma pasta principal. Contudo, agora ao invés de not-found, apontando para o diretório html. No caso, index.html que é criado previamente.

docker container run -p 8080:80 -v $(pwd)/html:/usr/share/nginx/html nginx




Nomear Containers[edit | hide | edit source]

Criando um nome exemplo para um container chamado mytest:

docker container run --name mytest -it debian bash




Remoção de container[edit | hide | edit source]

Remoção da imagem debian e bash

docker container run --rm debian bash --version


Para remover todo os seus containers:

docker rm $(docker ps -a -q)




Teste Hello World ( teste da imagem docker )[edit | hide | edit source]

Tem duas formas de fazer o teste:

1 docker run hello-world

ou

2 docker container run hello-world

Observação: Se der algum erro de autorização, siga os passos abaixo.




Verificação de vários comandos Docker não listados aqui[edit | hide | edit source]

docker container run --help


Verificação do tipo de sistema que está sendo executado dentro do container[edit | hide | edit source]

docker container exec ex-daemon-basic uname -or





HELP[edit | hide | edit source]

Container[edit | hide | edit source]

docker container --help

Imagem[edit | hide | edit source]

docker image --help


Volume[edit | hide | edit source]

docker volume --help




INSPECIONAR[edit | hide | edit source]


CONTAINER[edit | hide | edit source]

Exemplo de inspecionar um container: docker container inspect ex-daemon-basic

IMAGEM[edit | hide | edit source]

Exemplo de inspecionar uma imagem: docker image inspect redis:latest


IMAGEM[edit | hide | edit source]

Baixar imagens do dockerhub[edit | hide | edit source]

docker image pull

Observação: sempre pegar, em produção, imagens específicas e tentar evitar a latest.


Build[edit | hide | edit source]

Construção da imagem pessoal ou complementação de uma existente.

docker image build


Exemplo de como baixar uma imagem com o Redis[edit | hide | edit source]

Redis: docker pull redis:latest


Listar Imagens[edit | hide | edit source]

docker image ls


Publicar imagem[edit | hide | edit source]

docker image push


Remoção de imagem[edit | hide | edit source]

docker image rm

Exemplo 1: com remoção de uma imagem do redis: docker image rm redis:latest

Exemplo 2: com remoção de duas imagens, o redis e o cod3r-redis: docker image rm redis:latest cod3r-redis:latest

Para remover todas as suas imagens:

docker rmi $(docker images -q)

Tag[edit | hide | edit source]

Para criar uma nova tag para a sua imagem, ou seja renomeá-la, você precisa complementar depois de tag os parâmetros relacionados às tags que deseja passar.

docker image tag

Neste exemplo criaremos uma nova tag para o redis:

docker image tag redis:latest cod3r-redis


RUN[edit | hide | edit source]

O comando Run possui 4 funções ao ser utilizado com o Docker.

Como funciona o Run usado com o Docker:

1 docker image pull: baixa a imagem do registry para a sua máquina

2 docker container create: criação do container

3 docker container start: inicialização do container

4 docker container exec: execução do container



VOLUMES[edit | hide | edit source]

Listar Volumes[edit | hide | edit source]

docker volume ls







Se você gosta do meu conteúdo, considere comprar um café para mim

Visite-nos sempre!!!

Lembre-se: Programar não faz de você um programador. Mas não ser capaz de parar de programar faz!

Obrigado pelo seu apoio!