Docker - Comandos
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