Skip to content

Instantly share code, notes, and snippets.

@murillomr7
Forked from gabrielsimplicio/docker-passo-a-passo
Last active June 29, 2017 17:15
Show Gist options
  • Save murillomr7/66f21618486fa52304fbef1ce742cf43 to your computer and use it in GitHub Desktop.
Save murillomr7/66f21618486fa52304fbef1ce742cf43 to your computer and use it in GitHub Desktop.
******** PARTE 1 - COMANDOS BÁSICOS
## Para listar as imagens existentes localmente
-> docker images
## Criar um novo container (a partir de uma imagem)
-> docker run -it centos /bin/bash
run > executar uma imagem
-i > interatividade
-t > tty
centos > nome da imagem
/bin/bash > comando que deve ser executado após download da imagem e criação do container
* Se não tiver localmente, vai baixar lá do docker hub (https://hub.docker.com)
## Para exibir a versão do centos
-> cat /etc/*release*
* Observar que está dentro do container
## Para mostrar que é uma máquina como qualquer outra
-> yum update -y - CENTOS
## Para mostrar que somente o que eu quero está sendo executado
-> ps -ef
## Para sair sem encerrar o container
-> CTRL + P + Q
* Se eu sair com "exit", ou com "CTRL + D", eu vou encerrar o container. Com o "CTRL + P + Q", o container continuará ativo.
## Para listar os containers em execução
-> docker ps
## Para listar todos os containers - inativos ou não
-> docker ps -a
## Para entrar em um container em execução
-> docker attach <container-id>
## Para enviar um comando para um container em execução
-> docker exec <container-id> ps -ef
## Para parar um container
-> docker stop
## Para remover um container
-> docker rm
******** PARTE 2 - EXTERNALIZANDO PORTAS
## Para rodar um container, externalizando as portas
-> docker run -it -p 5000:80 ubuntu /bin/bash
-p > especificar a porta
5000 > porta do host
80 > porta do container
## Para instalar o nginx
-> apt-get update
-> apt-get install nginx -y
## Para iniciar o nginx
-> /etc/init.d/nginx start
## Para ver o processo do nginx (e demais processos) em execução
-> ps -ef
## Para exibir o nginx em execução
-> abrir o navegador
-> localhost:5000
******** PARTE 3 - DOCKER COMMIT
## Para criar uma imagem
-> docker commit <container-id> <nome>:1.0
-> docker images
## Para criar o container da imagem recém-criada
-> docker run -it -p 5001:80 <nome>:1.0 /bin/bash
## Para iniciar o nginx
-> /etc/init.d/nginx start
## Para ver o processo do nginx (e demais processos) em execução
-> ps -ef
## Para listar os containers em execução
-> docker ps
## Para exibir o nginx em execução
-> abrir o navegador
-> localhost:5001
## Para exibir o log do nginx em tempo real
-> tail -f /var/log/nginx/access.log
-> atualizar a página do navegador
******** PARTE 4 - MAPEANDO DIRETÓRIOS
## Para compartilhar volumes com o host
-> docker run -it -p 5002:80 -v /home/gabriel/devmt-demo/build:/var/www/html <nome>:1.0 /bin/bash
-> /etc/init.d/nginx start
## Para exibir o nginx em execução
-> abrir o navegador
-> localhost:5002
******** PARTE 5 - DOCKER HUB
- Abrir http://hub.docker.com/, para visualizar as imagens disponíveis
## Para compartilhar volumes com o host
docker run -d -p 5003:80 -v /home/gabriel/devmt-demo/build:/usr/share/nginx/html nginx
-> abrir o navegador
-> localhost:5003
******** PARTE 6 - DOCKER FILE
- Navegar até o projeto demo
-> cd /home/gabriel/devmt-demo
## Para criar um arquivo
-> touch Dockerfile
- Inserir o seguinte conteúdo:
FROM nginx
COPY ./build /usr/share/nginx/html
EXPOSE 80
## Para construir a imagem via Dockerfile
-> docker build -t devmt-demo .
build > gerar uma imagem através de um Dockerfile
-t > tag
devmt-demo > nome da imagem
. > diretório na qual eu devo ler o Dockerfile
-> docker images
## Para criar um container com a imagem recém-criada
-> docker run -d -p 5004:8080 devmt-demo
## Para exibir o app em funcionamento
- Abrir o navegador
- localhost:5004
* O projeto demo é um projeto simples feito em react. Pode ser substituído por qualquer aplicação estática feita em html.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment