Docker - Site oficial
Docker HUB
Docker Documentação - Oficial
Download
- Isolar Aplicações
- independência
- Sistema de arquivos isolados
- Reutilização de camadas de imagens
- Agilidade
- Portabildiade
- Redução de problemas com SO
Parar container:
docker stop ID_CONTAINER
Iniciar Container:
docker start ID_CONTAINER
Pausar Container:
docker pause ID_CONTAINER
Voltar funcionamento de Container:
docker unpause ID_CONTAINER
Monstrar portas Container:
docker port ID_CONTAINER
Parar todos os containers
docker stop $(docker container ls -q)
docker run IMAGEM
- Criar e executar containers
Procura Localmente a Imagem -> Baixa se não existir -> Validade hash da imagem -> Executa o Container
- Mapear Porta do Container
-p HOST_PORT:CONTAINER_PORT
docker ps ou docker container ls
Obs: para visualizar todos os container docker ps -a
docker exec -it ID bash
it para usar terminal de forma interativa
-d sem travar terminal/roda e volta ao normal
docker container rm ID_CONTAINER
OBS:
pode ser usada floag -force
- Namespace NET -> Isolamento das interfaces de rede
- Porta Container não é a mesma que o host
Docker network create --driver TIPO_REDE NOME_REDE
Docker possui 3 redes padróes
- Bridge
- Cria a 'ponte' entre Containers
- Host
- None
- Remove a possibilidade de conexão entre containers
Rede do tipo Bridge é utilizada para Comunicação entre os Containers
OBS: Para conectar dois containers é necessário adicionar a mesma rede
Imagem possuem somente camadas de leitura / quando container é gerado criar camada de escrita e leitura
-
Visualizar imagens
docker images -
Visualizar informações de imagens
docker inspect ID -
Visualizar camadas da imagem
docker history ID
1- Criar arquivo Dockerfile
FROM node:VERSÃO
WORKDIR /app-node
ARG PORT_BUILD = 6000
ENV PORT = $PORT_BUID
EXPOSE $PORT_BUILD
COPY . .
RUN npm install
ENTRYPOINT npm startFROM/ Definir uma imagem de baseWORKDIR/ Definir diretório de trabalhoCMD/ Comandos executatados após a criação do Container e também pode ser usado para definir os argumentosENTRYPOINT/ Definir onde e como será executada imagemRUN/ Executar uma linha de ComandoEXPOSE/ Expoe a porta de funcionamentoENV/ Variáveis de AmbienteCOPY/ Copia arquivos do HOST para o CONTAINER
2 - Fazer build da imagem
Docker build -t NOMECONTA/NOMEAPLICAÇÃO:VERSÃO .
Usar label -v não é recomendado
Utilizar --mount type="TIPO_ARMAZENAMENTO, SOURCE="DIRETORIO_HOST(SE FOR BIND MOUNT)",TARGET="DIRETORIO_CONTAINER"
-
Não dependem da estrutura de pastas do sistema
-
São gerenciados pelo Docker
-v LOCAL_DESEJADO / TESTE docker volume create NOME_VOLUME docker run -it -v NOME_VOLUME:/DIRETORIO_CONTAINER (ex:/app) ubuntu bash
-
Depende da estrutura de pastas do sistema
-
Não é um volume
-
tipo de armazenamento
docker run type = bind,source="LOCAL_DESEJADO" NOME_IMAGEM bashou
docker container run -it -v ARMAZENAMENTO_HOST:ARMAZENAMENTO_CONTAINER NOME_IMAGEM
- Armazenamento Temporário
- Memória RAM
docker container run -it --tmpfs /PASTA
- Ajuda a montar aplicações
- Iniciar Containerss
ARQUIVO : docker-compose.yml
version /
services:
SERVICO1:
image:
container_name:
network:
SERVICO2:
image:
container_name:
network:
- NOME_REDE
ports:
- PORTA/PORTA
networks:
compose-brigde:
driver: NOME_REDE- docker-compse up
- Definir serviços dependentes
Docker-composer ps
docker-compose down
- Construção de Multiplos estágios
- Otimização
- Geração de Imagens a partir de varias etapas
- Retirar arquivos e procedimentos desnecessários
- Imagens geradas a partir de outras
Documentação Multi-Stage Build - Docker
- Conjunto de máquinas dividindo poder computacional
docker-machine shh NOME_MAQUINA_VIRUTAL
docker swarm init
Cria Serviços em espopo do swarm
docker service create-p8000/3000 NOME_PROJETO
Visualizar onde tarefa está sendo executado
Tarefa = instância de um servico
docker ps ID_TAREFA ID_SERVIÇO
- Orquestadror
- Alocar e reinciar containers de maneira automatica
- Criação de Máquinas Virtais
docker-machine craeate -d virutalbox NOME_VIRUTAL_MACHINE




