SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Docker [Mini Lab]
Coordenação de Infraestrutura - CTIC - UFAM
Julho/2018
João Guilherme <joao@ufam.edu.br>
Arquitetura de containers
A diferença entre imagens e containers
Imagem é a definição
estática de um container a
ser instanciado.
Container é uma instância
dinâmica de uma imagem.
DockerHub - repositório público de imagens Docker
Para instalar o docker no ubuntu:
$ sudo apt-get install docker.io
Para não precisar usar o docker com sudo, adicione seu usuário ao grupo docker
do sistema operacional (é necessário deslogar e logar novamente):
$ sudo usermod -aG docker USUARIO
Para executar um container ubuntu 18.04 e entrar no bash:
$ docker run -it ubuntu:18.04 /bin/bash
Vamos criar um arquivo no diretorio “/”
$ touch /arquivo.txt
Para visualizar os containers que estão em execução:
$ docker ps
Para visualizar todos os containers:
$ docker ps -a
Para iniciar/parar/reiniciar um container:
$ docker start/stop/restart [NOME ou HASH do container]
Para remover um container:
$ docker rm [NOME ou HASH do container]
Para baixar uma imagem do hub sem criar um container:
$ docker pull ubuntu:18.04
Para listar as imagens que estão na máquina:
$ docker images
Para remover uma imagem:
$ docker rmi [NOME OU HASH da imagem]
Rodar um container com servidor web (-d para background) (-p para mapear porta
da máquina para porta do container):
$ docker run -d --name meuservidor -p 80:80 tutum/hello-world
Como acessar o bash de um container já em execução:
$ docker exec -it meuservidor /bin/sh (ou /bin/bash)
Rodar um container para um blog em Ghost usando docker:
$ docker run -d --name myghostblog -p 80:2368 ghost
Rodar um mysql 5.6
$ docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123 mysql:5.6
Rodar um servidor com joomla que enxerga o container mysql
$ docker run -d --name meujoomla -p 80:80 --link mysql:mysql joomla
Rodar um tomcat 7
$ docker run -d --name tomcat -p 8080:8080 tomcat:7
Inserir um .war dentro do container do tomcat
$ docker cp ARQUIVO tomcat:/usr/local/tomcat/webapps/
Dockerfile
É como que uma receita de bolo para criar uma imagem:
FROM tomcat:7
COPY ARQUIVO /usr/local/tomcat/webapps/
Para criar uma imagem a partir do Dockerfile (precisa estar no mesmo diretório):
$ docker build -t NOME_QUE_QUER_DAR_PARA_IMAGEM:TAG .
Quando é interessante usar docker?
Os containers trabalham com a ideia do descartável, portanto o ideal é que
abrigue aplicações que possam ser descartadas e recriadas (tomcat, apache,
proxy, vpn etc).
A ideia também é que cada container abrigue somente um serviço/processo.
Para dados persistentes da aplicação, use volumes!!
Para criar um volume:
$ docker volume create NOME_VOLUME
Para listar os volumes da máquina:
$ docker volume ls
Para executar um container usando um volume:
$ docker run -v NOME_VOLUME:/diretorio/no/container IMAGEM
obs: se o volume não existir, será criado.
Para excluir um volume
$ docker volume rm NOME_VOLUME
Para fazer persistência usando mount de diretório (forma mais direta, menos
indicada):
$ docker run -v /diretorio/na/maquina:/diretorio/no/container IMAGEM
OBRIGADO
Perguntas?

Mais conteúdo relacionado

Semelhante a Docker - tutorial iniciantes

Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis Wallison Marra
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoTobias Sette
 
Docker de containers a orquestração
Docker de containers a orquestraçãoDocker de containers a orquestração
Docker de containers a orquestraçãoItalo José
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginnersRafael Chiavegatto
 
Vagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoVagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoDiogo Lucas
 
Docker - Essa baleia vai te conquistar
Docker - Essa baleia vai te conquistarDocker - Essa baleia vai te conquistar
Docker - Essa baleia vai te conquistarVinícius Feitosa
 
Docker Comando básicos
Docker Comando básicosDocker Comando básicos
Docker Comando básicosMVP Microsoft
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerBruno Ricardo Siqueira
 
JavaDay2018 - Docker - Além do HelloWorld
JavaDay2018 - Docker - Além do HelloWorldJavaDay2018 - Docker - Além do HelloWorld
JavaDay2018 - Docker - Além do HelloWorldThiago Soares
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerRafael Gomes
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfdadalt1
 
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresasDockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresasRafael Gomes
 
Trabalhando em ambientes php com docker
Trabalhando em ambientes php com dockerTrabalhando em ambientes php com docker
Trabalhando em ambientes php com dockerAlef Castelo
 
Docker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaMatheus Fidelis
 

Semelhante a Docker - tutorial iniciantes (20)

Vamos falar de docker
Vamos falar de dockerVamos falar de docker
Vamos falar de docker
 
Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
 
Oficina docker
Oficina dockerOficina docker
Oficina docker
 
Freedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, dockerFreedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, docker
 
Docker de containers a orquestração
Docker de containers a orquestraçãoDocker de containers a orquestração
Docker de containers a orquestração
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
 
Vagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoVagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolso
 
Docker
DockerDocker
Docker
 
Docker - Essa baleia vai te conquistar
Docker - Essa baleia vai te conquistarDocker - Essa baleia vai te conquistar
Docker - Essa baleia vai te conquistar
 
Docker Comando básicos
Docker Comando básicosDocker Comando básicos
Docker Comando básicos
 
Aulão de docker
Aulão de dockerAulão de docker
Aulão de docker
 
Olá docker
Olá dockerOlá docker
Olá docker
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
 
JavaDay2018 - Docker - Além do HelloWorld
JavaDay2018 - Docker - Além do HelloWorldJavaDay2018 - Docker - Além do HelloWorld
JavaDay2018 - Docker - Além do HelloWorld
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresasDockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
 
Trabalhando em ambientes php com docker
Trabalhando em ambientes php com dockerTrabalhando em ambientes php com docker
Trabalhando em ambientes php com docker
 
Docker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG Cabreúva
 

Docker - tutorial iniciantes

  • 1. Docker [Mini Lab] Coordenação de Infraestrutura - CTIC - UFAM Julho/2018 João Guilherme <joao@ufam.edu.br>
  • 3. A diferença entre imagens e containers Imagem é a definição estática de um container a ser instanciado. Container é uma instância dinâmica de uma imagem.
  • 4. DockerHub - repositório público de imagens Docker
  • 5.
  • 6. Para instalar o docker no ubuntu: $ sudo apt-get install docker.io Para não precisar usar o docker com sudo, adicione seu usuário ao grupo docker do sistema operacional (é necessário deslogar e logar novamente): $ sudo usermod -aG docker USUARIO Para executar um container ubuntu 18.04 e entrar no bash: $ docker run -it ubuntu:18.04 /bin/bash Vamos criar um arquivo no diretorio “/” $ touch /arquivo.txt
  • 7. Para visualizar os containers que estão em execução: $ docker ps Para visualizar todos os containers: $ docker ps -a Para iniciar/parar/reiniciar um container: $ docker start/stop/restart [NOME ou HASH do container] Para remover um container: $ docker rm [NOME ou HASH do container]
  • 8. Para baixar uma imagem do hub sem criar um container: $ docker pull ubuntu:18.04 Para listar as imagens que estão na máquina: $ docker images Para remover uma imagem: $ docker rmi [NOME OU HASH da imagem]
  • 9. Rodar um container com servidor web (-d para background) (-p para mapear porta da máquina para porta do container): $ docker run -d --name meuservidor -p 80:80 tutum/hello-world Como acessar o bash de um container já em execução: $ docker exec -it meuservidor /bin/sh (ou /bin/bash)
  • 10. Rodar um container para um blog em Ghost usando docker: $ docker run -d --name myghostblog -p 80:2368 ghost
  • 11. Rodar um mysql 5.6 $ docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123 mysql:5.6 Rodar um servidor com joomla que enxerga o container mysql $ docker run -d --name meujoomla -p 80:80 --link mysql:mysql joomla
  • 12. Rodar um tomcat 7 $ docker run -d --name tomcat -p 8080:8080 tomcat:7 Inserir um .war dentro do container do tomcat $ docker cp ARQUIVO tomcat:/usr/local/tomcat/webapps/
  • 13. Dockerfile É como que uma receita de bolo para criar uma imagem: FROM tomcat:7 COPY ARQUIVO /usr/local/tomcat/webapps/ Para criar uma imagem a partir do Dockerfile (precisa estar no mesmo diretório): $ docker build -t NOME_QUE_QUER_DAR_PARA_IMAGEM:TAG .
  • 14. Quando é interessante usar docker? Os containers trabalham com a ideia do descartável, portanto o ideal é que abrigue aplicações que possam ser descartadas e recriadas (tomcat, apache, proxy, vpn etc). A ideia também é que cada container abrigue somente um serviço/processo. Para dados persistentes da aplicação, use volumes!!
  • 15. Para criar um volume: $ docker volume create NOME_VOLUME Para listar os volumes da máquina: $ docker volume ls Para executar um container usando um volume: $ docker run -v NOME_VOLUME:/diretorio/no/container IMAGEM obs: se o volume não existir, será criado. Para excluir um volume $ docker volume rm NOME_VOLUME
  • 16. Para fazer persistência usando mount de diretório (forma mais direta, menos indicada): $ docker run -v /diretorio/na/maquina:/diretorio/no/container IMAGEM