Rafael Chiavegatto
chiavegattor@gmail.com
rafael.chiavegatto@fpf.brV19.03.5-ce
Docker - Tutorial for beginners
Rafael Chiavegatto
Rafael Chiavegatto possui pós-graduação em Engenharia de
Software formado pela FUCAPI em 2013 e graduado em Sistema
de Informação pela Universidade Salgado de Oliveira /UNIVERSO-
JF. Possui mais de 8 anos de experiência na área de
desenvolvimento de software. Conhecimento e utilização em
práticas de desenvolvimento ágeis, automação de testes(Web/
Mobile), testes de performance, testes de segurança, ferramentas
para automação de builds, entrega contínua e cultura DEVOPS.
Contatos:
Blog : rafaelchiavegatto.com.br
E-mail: chiavegattor@gmail.com
Twiter: twitter.com/FaelChiavegatto
Linkedin: linkedin.com/in/rafael-chiavegatto-3a599326
• Docker - Visão Geral, Conceitos, Vantagens e Benefícios;
• Instalação;
• Pull e Push de imagens;
• Comandos básicos;
• Exportação e importação de imagens;
• Criação de imagens;
• Criação de volumes;
• Docker-Compose;
Agenda
Conceitos
O que é Docker?
É uma plataforma Open Source que
facilita a criação e administração de
ambientes isolados. . Ele possibilita o
empacotamento de uma aplicação ou
ambiente dentro de um container.
Máquina virtual x Containers
Fonte: https://www.docker.com/what-docker
Cada máquina virtual possui:
• A aplicação e suas dependências;
• Um sistema operacional;
• Usuários do sistema operacional.
Máquina virtual
• Containers são mais leves, já que não
precisam de um ambiente virtual
completo;
• O kernel do host proporciona
gerenciamento de memória, I/O, CPU,
etc;
• Inicialização pode levar poucos segundos.
Container
• Reprodutibilidade;
• Escalabilidade;
• Documentação de configuração;
• Rapidez.
Vantagens
Instalação docker - Ubuntu
https://docs.docker.com/install/
Conceitos Básicos
Ø Imagens;
• Containers;
• Dockerfiles.
• Constituem a base para criação
de containers Docker;
• São muito similares às imagens
de disco padrão de sistema
operacional.
Imagens Docker
Docker Hub
https://hub.docker.com/explore/
Vamos fazer o seguinte:
Abrir o terminal (ctrl + shift + t);
Digitar o comando:
docker image pull ubuntu
Executar o comando
docker images
OBS.: No Window iniciar o Docker e abrir o CMD.
Prática - Imagens Pull
• Importar uma imagem
docker image load --input tmp/nova_imagem.tar
Prática - Imagens Load
• Digitar o comando:
docker images
• Exportar a imagem:
docker image save nomeImagem --output
/tmp/ubuntu.tar
Prática - Imagens Save
• Digitar o comando:
docker images
• Remover uma imagem
docker image rm -f nomeDaImagem ou
idDaImagem
Prática - Imagens Remove
Conceitos Básicos
• Imagens;
Ø Containers;
• Dockerfiles.
Containers possuem:
• Isolamento de recursos, semelhantes
como máquinas virtuais;
• Abordagem de arquitetura diferente
que permite ser mais portátil e
eficiente;
• São executados como um processo
isolado;
Containers
• Execução controlada de CPU, RAM, I/O,
etc;
• Podem ser descartáveis ou persistentes;
• Não estão vinculados a qualquer
infraestrutura específica;
• Compartilham o kernel com outros
containers.
Containers
Instância de uma imagemFonte: https://blog.schoolofnet.com/2018/05/para-que-serve-o-docker/
Portátil e móvel
Independente do hardware.
• Vamos fazer o seguinte:
Abrir o terminal (ctrl + shift + t);
• Digitar o comando:
docker image pull ubuntu
• Executar o comando
docker container run -it ubuntu
• Verificar a versão e data da máquina:
• cat /etc/*-release
• date
Prática containers - Run -it
Pode ser executado em
background?
Sair do container (digitar no terminal exit)
• Executar o comando:
docker container run -d ubuntu
Prática - Containers Background
Como vejo meu container?
• Listar todos os containers:
docker container ps -a
docker container ps
docker container ps -q
Prática containers - Ps
Prática containers
O que aconteceu com o meu
container?
• Importar a imagem do apache ou realizar o
pull da imagem;
• Criar um container do apache
docker container run -d httpd:alpine
• Executar o comando:
docker container inspect idDoContainer
• Achar as seguintes informações:
• IP;
• Portas;
• Mac Address.
Prática - Containers Inspect
• Acessar o container:
docker container exec -it nomeDocontainer(ou
id) /bin/sh ou bash
• Verificar a versão e data do container:
• cat /etc/*-release
• date
Prática - Containers Exec
Acessamos nosso primeiro container
• Vamos agora parar um container
docker container stop nomeDoContainer(ou id)
• Vamos iniciar o container
docker container start nomeDoContainer(ou id)
Prática - Containers Start/Stop
• Remover um container
docker container rm -f nomeDoContainer (ou id)
Prática - Containers RM
• Melhorar o nome ao criar um container
docker container run -d - -name apache
httpd:alpine
• Executar o comando
docker container ps
Prática - Containers --name
• Remover todos os containers
docker container rm -f $(docker container ps -aq)
• Executar o comando para ver se existe containers
ativos:
docker container ps
• Executar o comando para listar todos os
containers
docker container ps -a
Prática - Containers Remove All
• Importar a imagem do Apache
• Criar o container
docker container run -d --name apache
-p 80:80 httpd:alpine
• Executar o comando para listar os containers
docker container ps
• Acessar o navegador na url:
http://localhost
Prática - Containers Binding Ports
• Criar o container
docker container run -d --name apache
-p 4000:80 httpd:alpine
• Executar o comando para listar os containers
docker container ps
• Acessar o navegador na url:
http://localhost:4000
Prática - Containers Binding Ports
• Um volume pode ser um diretório localizado
fora de um container;
• Podemos manipular dados no container, sem
alterar a imagem;
• Um volume pode ser compartilhado entre
vários containers;
• Toda alteração feita em um volume é de
forma direta.
Volumes
• Criar o volume:
docker run -d -p 80:80 -v static:/usr/local/apache2/htdocs/
httpd:alpine
• Executar o comando:
echo "Eu sei usar volume" > static/index.html
• Acessar o navegador
http://localhost
Prática - Containers Volumes
• Remover todos os containers:
docker container rm –f $(docker container ps -aq)
• Criar um container do ubuntu-unity-novnc :
docker container run -d -p 6080:6080 --name vnc -e
PASSWORD=123456 -e SUDO=yes chenjr0719/ubuntu-unity-novnc
• Acessar no navegador o endereço:
• http://localhost:6080/vnc.html;
• Acessar o VNC com a senha que criamos.
Prática – Containers Environment
• Copiando arquivos do container:
docker container cp
<nome_container>:/caminho/no/container /caminho_host
• Enviando arquivos do container:
docker container cp arquivo_host
<nome_container>:/caminho_container
Prática - Containers CP
• Remover todos os containers:
docker container rm –f $(docker container ps –aq)
• Criar um container do ubuntu-unity-novnc :
docker container run -d -p 6080:6080 --name vnc -e
PASSWORD=123456 -e SUDO=yes chenjr0719/ubuntu-unity-novnc
• Acessar no navegador o endereço:
• http://localhost:6080/vnc.html;
• Acessar o VNC com a senha que criamos;
• Criar uma pasta com seu nome no home do usuário.
• Executar o comando:
docker container cp vnc :/home/ubuntu/pastacriada .(local que
será salvo a pasta)
Prática – Containers CP
Conceitos Básicos
• Imagens;
• Containers;
Ø Dockerfiles.
• São scripts contendo comandos que
devem ser executados para formar
uma nova imagem;
• Cada comando executado gera uma
nova camada;
• Quando um Dockerfile conclui a
execução, você gera uma nova
imagem.
Dockerfiles
Dockerfiles
Vamos por partes:
• FROM – estamos escolhendo a imagem base para
criar o container;
• RUN – permite a execução de um comando no
container;
• COPY - Copia dados para dentro do container;
• EXPOSE – faz o mapeamento da porta em um
container;
• CMD – executa um comando ao iniciar o container;
Dockerfiles
Camadas Imagens
• Vamos criar um arquivo chamado Dockerfile, para isso
em uma pasta usar o comando:
touch Dockerfile
• Abrir o arquivo e colocar a seguinte instruções:
FROM ubuntu
RUN apt-get update
RUN apt-get install -y nginx
• Executar o comando:
docker image build –t usuarioDockerHub/nginx .
Prática - Dockerfile Build
• Alterar o arquivo Dockerfile:
FROM ubuntu
RUN apt-get update
RUN apt-get install -y nginx
EXPOSE 80
• Executar o comando:
docker image build –t usuarioDockerHub/ngnix .
Foi utilizado cache da parte que já existia na imagem, e executou
apenas a exposição da porta.
Prática - Dockerfile Cache
• Criar um container com a imagem criada:
docker container run –d –p 80:80 - -name nginx
usuarioDockerHub/nginx /usr/sbin/nginx -g "daemon
off;”
• Acessar no navegador:
http://localhost
• Executar o comando:
docker container port name/idContainer
Prática - Dockerfile Run
• Alterar o arquivo Dockerfile:
FROM ubuntu
RUN apt-get update
RUN apt-get install -y nginx
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
EXPOSE 80
CMD service nginx start
• Executar o comando:
docker image build –t usuarioDockerHub/ngnix .
Prática - Dockerfile CMD
• Executar o comando:
docker volume ls
• Alterar o arquivo Dockerfile:
FROM ubuntu
RUN apt-get update && apt-get install -y 
nginx && 
echo "daemon off;" >> /etc/nginx/nginx.conf
EXPOSE 80
WORKDIR /usr/share/nginx/html
CMD service nginx start
• Executar o comando:
docker image build -t usuarioDockerHub/ngnix .
Prática - Dockerfile Workdir
• Executar o comando:
docker container run -d -p 80:80 - -name nginx
nomeDoUsuarioDockerHub/nginx
• Verificar novamente os volumes:
docker container exec -it nginx bash
Prática - Container Workdir
• Logar no dockerhub:
docker login (informar login, senha)
• Subir a imagem para o dockerhub
docker image push usuarioDockerHub/nginx
Prática - Dockerfile Push
Precisamos orquestrar o deploy
da aplicação
Docker Compose
É uma ferramenta que permite criar e
executar aplicações que dependam de
vários serviços diferentes, rodando os
mesmos em containers separados.
• Vamos criar um arquivo:
docker-compose.yml
• Vamos colocar as seguintes instruções:
version: "3"
services:
ubuntu:
image: chenjr0719/ubuntu-unity-novnc
container_name: ubuntu
environment:
- PASSWORD=fpf@1212
- SUDO=yes
ports:
- 80:6080
Prática Docker Compose
• Executar o container:
docker-compose up
Prática - Docker Compose Up
• Para executar em background:
docker-compose up -d
Prática - Docker Compose Up -d
• Para parar os containers:
docker-compose up –d
docker-compose kill
Prática - Docker Compose Kill
• Remover os containers:
docker-compose up –d
docker-compose rm –f
Prática - Docker Compose RM -f
• Para ver o status dos containers:
docker-compose up -d
docker-compose ps
Prática - Docker Compose PS -a
• Para acessar um container:
docker-compose up -d
docker-compose exec nomeContainer bash/sh
Prática - Docker Compose Exec
• Para ver os logs de um container:
docker-compose up -d
docker-compose logs -f nomeContainer
Prática - Docker Compose Logs
• Para remover todos os containers:
docker-compose up -d
docker-compose down
Prática - Docker Compose Down
• Importar as imagens do selenium;
• Criar um arquivo chamado docker-compose.yml e colocar
as instruções:
hub:
image: selenium/hub
hostname: selenium-hub
ports:
- 4444:4444
environment:
- JAVA_OPTS=-Xmx512m
chrome:
image: selenium/node-chrome
links:
- hub
firefox:
image: selenium/node-firefox
links:
- hub
Prática - Docker Compose Links
docker-compose scale hub=1 chrome=3 firefox=3
• Acessar:
http://localhost:4444/grid/console
docker-compose scale hub=1 chrome=10 firefox=10
Prática - Docker Compose Scale
Docker-compose.yml
nginx:
build: .
ports:
- 80:80
Dockerfile:
FROM ubuntu
RUN apt-get update && apt-get install -y 
nginx && 
echo "daemon off;" >> /etc/nginx/nginx.conf
VOLUME ["/etc/nginx", "/usr/share/nginx/html"]
EXPOSE 80
CMD service nginx start
Prática - Docker Compose Build
postgres:
image: postgres
container_name: postgres
restart: always
ports:
- 5432:5432
environment:
- POSTGRES_DB=rafael
- POSTGRES_PASSWORD=123456
Prática - Docker Compose Restart
Referências
https://speakerdeck.com/acactown/tdc-2015-o-arroz-e-feijao-do-docker
http://www.mundodocker.com.br/o-que-e-docker/
http://stefanteixeira.com.br/2015/03/17/comandos-essenciais-docker-
monitoramento-containers/
https://www.digitalocean.com/community/tutorials/como-instalar-e-utilizar-o-
docker-primeiros-passos-pt
http://blog.diovani.com/post/115770397631/docker-compose-aplicacoes-com-
varios-containers
https://docs.docker.com/
https://blog.schoolofnet.com/2018/05/para-que-serve-o-docker/
Daniel Romero (2015) - Containers com Docker Do desenvolvimento à produção
E-mails:
chiavegattor@gmail.com
rafael.chiavegatto@fpf.br
Slideshare
http://pt.slideshare.net/rafaelchiavegatto1
Linkedin
https://www.linkedin.com/pub/rafael-chiavegatto/26/993/3a5
GitHub
https://github.com/chiavegatto

Docker - Tutorial for beginners

  • 1.
  • 2.
    Rafael Chiavegatto Rafael Chiavegattopossui pós-graduação em Engenharia de Software formado pela FUCAPI em 2013 e graduado em Sistema de Informação pela Universidade Salgado de Oliveira /UNIVERSO- JF. Possui mais de 8 anos de experiência na área de desenvolvimento de software. Conhecimento e utilização em práticas de desenvolvimento ágeis, automação de testes(Web/ Mobile), testes de performance, testes de segurança, ferramentas para automação de builds, entrega contínua e cultura DEVOPS. Contatos: Blog : rafaelchiavegatto.com.br E-mail: chiavegattor@gmail.com Twiter: twitter.com/FaelChiavegatto Linkedin: linkedin.com/in/rafael-chiavegatto-3a599326
  • 3.
    • Docker -Visão Geral, Conceitos, Vantagens e Benefícios; • Instalação; • Pull e Push de imagens; • Comandos básicos; • Exportação e importação de imagens; • Criação de imagens; • Criação de volumes; • Docker-Compose; Agenda
  • 4.
  • 5.
    O que éDocker? É uma plataforma Open Source que facilita a criação e administração de ambientes isolados. . Ele possibilita o empacotamento de uma aplicação ou ambiente dentro de um container.
  • 6.
    Máquina virtual xContainers Fonte: https://www.docker.com/what-docker
  • 7.
    Cada máquina virtualpossui: • A aplicação e suas dependências; • Um sistema operacional; • Usuários do sistema operacional. Máquina virtual
  • 8.
    • Containers sãomais leves, já que não precisam de um ambiente virtual completo; • O kernel do host proporciona gerenciamento de memória, I/O, CPU, etc; • Inicialização pode levar poucos segundos. Container
  • 9.
    • Reprodutibilidade; • Escalabilidade; •Documentação de configuração; • Rapidez. Vantagens
  • 12.
    Instalação docker -Ubuntu https://docs.docker.com/install/
  • 13.
    Conceitos Básicos Ø Imagens; •Containers; • Dockerfiles.
  • 14.
    • Constituem abase para criação de containers Docker; • São muito similares às imagens de disco padrão de sistema operacional. Imagens Docker
  • 15.
  • 16.
    Vamos fazer oseguinte: Abrir o terminal (ctrl + shift + t); Digitar o comando: docker image pull ubuntu Executar o comando docker images OBS.: No Window iniciar o Docker e abrir o CMD. Prática - Imagens Pull
  • 17.
    • Importar umaimagem docker image load --input tmp/nova_imagem.tar Prática - Imagens Load
  • 18.
    • Digitar ocomando: docker images • Exportar a imagem: docker image save nomeImagem --output /tmp/ubuntu.tar Prática - Imagens Save
  • 19.
    • Digitar ocomando: docker images • Remover uma imagem docker image rm -f nomeDaImagem ou idDaImagem Prática - Imagens Remove
  • 20.
    Conceitos Básicos • Imagens; ØContainers; • Dockerfiles.
  • 21.
    Containers possuem: • Isolamentode recursos, semelhantes como máquinas virtuais; • Abordagem de arquitetura diferente que permite ser mais portátil e eficiente; • São executados como um processo isolado; Containers
  • 22.
    • Execução controladade CPU, RAM, I/O, etc; • Podem ser descartáveis ou persistentes; • Não estão vinculados a qualquer infraestrutura específica; • Compartilham o kernel com outros containers. Containers
  • 23.
    Instância de umaimagemFonte: https://blog.schoolofnet.com/2018/05/para-que-serve-o-docker/
  • 24.
  • 25.
    • Vamos fazero seguinte: Abrir o terminal (ctrl + shift + t); • Digitar o comando: docker image pull ubuntu • Executar o comando docker container run -it ubuntu • Verificar a versão e data da máquina: • cat /etc/*-release • date Prática containers - Run -it
  • 26.
    Pode ser executadoem background?
  • 27.
    Sair do container(digitar no terminal exit) • Executar o comando: docker container run -d ubuntu Prática - Containers Background
  • 28.
    Como vejo meucontainer?
  • 29.
    • Listar todosos containers: docker container ps -a docker container ps docker container ps -q Prática containers - Ps
  • 30.
  • 31.
    O que aconteceucom o meu container?
  • 32.
    • Importar aimagem do apache ou realizar o pull da imagem; • Criar um container do apache docker container run -d httpd:alpine • Executar o comando: docker container inspect idDoContainer • Achar as seguintes informações: • IP; • Portas; • Mac Address. Prática - Containers Inspect
  • 33.
    • Acessar ocontainer: docker container exec -it nomeDocontainer(ou id) /bin/sh ou bash • Verificar a versão e data do container: • cat /etc/*-release • date Prática - Containers Exec
  • 34.
  • 35.
    • Vamos agoraparar um container docker container stop nomeDoContainer(ou id) • Vamos iniciar o container docker container start nomeDoContainer(ou id) Prática - Containers Start/Stop
  • 36.
    • Remover umcontainer docker container rm -f nomeDoContainer (ou id) Prática - Containers RM
  • 37.
    • Melhorar onome ao criar um container docker container run -d - -name apache httpd:alpine • Executar o comando docker container ps Prática - Containers --name
  • 38.
    • Remover todosos containers docker container rm -f $(docker container ps -aq) • Executar o comando para ver se existe containers ativos: docker container ps • Executar o comando para listar todos os containers docker container ps -a Prática - Containers Remove All
  • 39.
    • Importar aimagem do Apache • Criar o container docker container run -d --name apache -p 80:80 httpd:alpine • Executar o comando para listar os containers docker container ps • Acessar o navegador na url: http://localhost Prática - Containers Binding Ports
  • 40.
    • Criar ocontainer docker container run -d --name apache -p 4000:80 httpd:alpine • Executar o comando para listar os containers docker container ps • Acessar o navegador na url: http://localhost:4000 Prática - Containers Binding Ports
  • 41.
    • Um volumepode ser um diretório localizado fora de um container; • Podemos manipular dados no container, sem alterar a imagem; • Um volume pode ser compartilhado entre vários containers; • Toda alteração feita em um volume é de forma direta. Volumes
  • 42.
    • Criar ovolume: docker run -d -p 80:80 -v static:/usr/local/apache2/htdocs/ httpd:alpine • Executar o comando: echo "Eu sei usar volume" > static/index.html • Acessar o navegador http://localhost Prática - Containers Volumes
  • 43.
    • Remover todosos containers: docker container rm –f $(docker container ps -aq) • Criar um container do ubuntu-unity-novnc : docker container run -d -p 6080:6080 --name vnc -e PASSWORD=123456 -e SUDO=yes chenjr0719/ubuntu-unity-novnc • Acessar no navegador o endereço: • http://localhost:6080/vnc.html; • Acessar o VNC com a senha que criamos. Prática – Containers Environment
  • 44.
    • Copiando arquivosdo container: docker container cp <nome_container>:/caminho/no/container /caminho_host • Enviando arquivos do container: docker container cp arquivo_host <nome_container>:/caminho_container Prática - Containers CP
  • 45.
    • Remover todosos containers: docker container rm –f $(docker container ps –aq) • Criar um container do ubuntu-unity-novnc : docker container run -d -p 6080:6080 --name vnc -e PASSWORD=123456 -e SUDO=yes chenjr0719/ubuntu-unity-novnc • Acessar no navegador o endereço: • http://localhost:6080/vnc.html; • Acessar o VNC com a senha que criamos; • Criar uma pasta com seu nome no home do usuário. • Executar o comando: docker container cp vnc :/home/ubuntu/pastacriada .(local que será salvo a pasta) Prática – Containers CP
  • 46.
    Conceitos Básicos • Imagens; •Containers; Ø Dockerfiles.
  • 47.
    • São scriptscontendo comandos que devem ser executados para formar uma nova imagem; • Cada comando executado gera uma nova camada; • Quando um Dockerfile conclui a execução, você gera uma nova imagem. Dockerfiles
  • 48.
  • 49.
    Vamos por partes: •FROM – estamos escolhendo a imagem base para criar o container; • RUN – permite a execução de um comando no container; • COPY - Copia dados para dentro do container; • EXPOSE – faz o mapeamento da porta em um container; • CMD – executa um comando ao iniciar o container; Dockerfiles
  • 50.
  • 51.
    • Vamos criarum arquivo chamado Dockerfile, para isso em uma pasta usar o comando: touch Dockerfile • Abrir o arquivo e colocar a seguinte instruções: FROM ubuntu RUN apt-get update RUN apt-get install -y nginx • Executar o comando: docker image build –t usuarioDockerHub/nginx . Prática - Dockerfile Build
  • 52.
    • Alterar oarquivo Dockerfile: FROM ubuntu RUN apt-get update RUN apt-get install -y nginx EXPOSE 80 • Executar o comando: docker image build –t usuarioDockerHub/ngnix . Foi utilizado cache da parte que já existia na imagem, e executou apenas a exposição da porta. Prática - Dockerfile Cache
  • 53.
    • Criar umcontainer com a imagem criada: docker container run –d –p 80:80 - -name nginx usuarioDockerHub/nginx /usr/sbin/nginx -g "daemon off;” • Acessar no navegador: http://localhost • Executar o comando: docker container port name/idContainer Prática - Dockerfile Run
  • 54.
    • Alterar oarquivo Dockerfile: FROM ubuntu RUN apt-get update RUN apt-get install -y nginx RUN echo "daemon off;" >> /etc/nginx/nginx.conf EXPOSE 80 CMD service nginx start • Executar o comando: docker image build –t usuarioDockerHub/ngnix . Prática - Dockerfile CMD
  • 55.
    • Executar ocomando: docker volume ls • Alterar o arquivo Dockerfile: FROM ubuntu RUN apt-get update && apt-get install -y nginx && echo "daemon off;" >> /etc/nginx/nginx.conf EXPOSE 80 WORKDIR /usr/share/nginx/html CMD service nginx start • Executar o comando: docker image build -t usuarioDockerHub/ngnix . Prática - Dockerfile Workdir
  • 56.
    • Executar ocomando: docker container run -d -p 80:80 - -name nginx nomeDoUsuarioDockerHub/nginx • Verificar novamente os volumes: docker container exec -it nginx bash Prática - Container Workdir
  • 57.
    • Logar nodockerhub: docker login (informar login, senha) • Subir a imagem para o dockerhub docker image push usuarioDockerHub/nginx Prática - Dockerfile Push
  • 58.
    Precisamos orquestrar odeploy da aplicação
  • 60.
    Docker Compose É umaferramenta que permite criar e executar aplicações que dependam de vários serviços diferentes, rodando os mesmos em containers separados.
  • 61.
    • Vamos criarum arquivo: docker-compose.yml • Vamos colocar as seguintes instruções: version: "3" services: ubuntu: image: chenjr0719/ubuntu-unity-novnc container_name: ubuntu environment: - PASSWORD=fpf@1212 - SUDO=yes ports: - 80:6080 Prática Docker Compose
  • 62.
    • Executar ocontainer: docker-compose up Prática - Docker Compose Up
  • 63.
    • Para executarem background: docker-compose up -d Prática - Docker Compose Up -d
  • 64.
    • Para pararos containers: docker-compose up –d docker-compose kill Prática - Docker Compose Kill
  • 65.
    • Remover oscontainers: docker-compose up –d docker-compose rm –f Prática - Docker Compose RM -f
  • 66.
    • Para vero status dos containers: docker-compose up -d docker-compose ps Prática - Docker Compose PS -a
  • 67.
    • Para acessarum container: docker-compose up -d docker-compose exec nomeContainer bash/sh Prática - Docker Compose Exec
  • 68.
    • Para veros logs de um container: docker-compose up -d docker-compose logs -f nomeContainer Prática - Docker Compose Logs
  • 69.
    • Para removertodos os containers: docker-compose up -d docker-compose down Prática - Docker Compose Down
  • 70.
    • Importar asimagens do selenium; • Criar um arquivo chamado docker-compose.yml e colocar as instruções: hub: image: selenium/hub hostname: selenium-hub ports: - 4444:4444 environment: - JAVA_OPTS=-Xmx512m chrome: image: selenium/node-chrome links: - hub firefox: image: selenium/node-firefox links: - hub Prática - Docker Compose Links
  • 71.
    docker-compose scale hub=1chrome=3 firefox=3 • Acessar: http://localhost:4444/grid/console docker-compose scale hub=1 chrome=10 firefox=10 Prática - Docker Compose Scale
  • 72.
    Docker-compose.yml nginx: build: . ports: - 80:80 Dockerfile: FROMubuntu RUN apt-get update && apt-get install -y nginx && echo "daemon off;" >> /etc/nginx/nginx.conf VOLUME ["/etc/nginx", "/usr/share/nginx/html"] EXPOSE 80 CMD service nginx start Prática - Docker Compose Build
  • 73.
    postgres: image: postgres container_name: postgres restart:always ports: - 5432:5432 environment: - POSTGRES_DB=rafael - POSTGRES_PASSWORD=123456 Prática - Docker Compose Restart
  • 74.
  • 75.