Você está na página 1de 5

Anotações IMERSÃO DOCKER 12_09_2020

Link oficial documentação DOCKER e containers

https://docs.docker.com/get-started/

O Docker faz a administração de containers, que possuem uma abstração do sistema operacional utilizando apenas o
kernel o núcleo do sistema, fazendo com que se economize recursos computacionais, memória e processamento.

O Docker pode ser instalado em qualquer SO e fará o gerenciamento dos containers .

A princípio faremos a criação de uma instância na AWS

O Jpão disponibilizou um arquivo com script para criar as redes

MobaXterm - faz conexões ssh, e várias utras conexões

https://mobaxterm.mobatek.net/

Instalação do Docker no ubuntu

https://docs.docker.com/engine/install/ubuntu/

Para fazer testes em Docker, pode-se usar o ambiente virtual para testes

https://labs.play-with-docker.com/

Comandos de instalação Docker no ubuntu 20


1. Instalando Docker

sudo apt-get update


sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-
properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $
(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker ubuntu
2. Subindo seu primeiro Container com imagem do DockerHub

docker run hello-world


docker run -d -p 8080:80 nginx
Imagens do Docker onde estão as imagens públicas e privadas, para execução no docker

https://hub.docker.com/

3. Exemplos de comandos

docker ps -
docker run --name -d -v -e -p
docker stop
docker rm -f
docker images
docker rmi
docker exec -it
docker logs

# Subir um container do NGINX que será mapeado a porta 8080 da sua maquina para a porta
80 do container
docker run -d -p 8080:80 nginx

# Usando o parametro --name para definir o nome do container


docker run -p 8080:80 --name webserver nginx

# Remover um container forçando sua parada


docker rm -f webserver

# Rodar um comando em um container já em execução


docker run -it -p 8080:80 --name webserver nginx

# Mapear uma pasta para dentro do seu container


docker run -d -v "$(pwd):/usr/share/nginx/html" -p 8080:80 --name webserver nginx

Comandos básicos do Docker

docker ps

Docker ps -a mostra os containers que já foram executados e parados

docker run

docker run executa uma imagem

Opções

--name – nomeia a imagem do container

-d - executa o container em background , e poder subir outros containers simultaneamente

-v - volume list – mapeamento para um container “pasta local:pasta onde está o container

-e – envoiriment – enviar variáveis de ambiente

-p - para publicar uma porta – defino a porta que quero rodar na minha instancia e a porta do container

docker stop – para um ou mais containers que estão rodando


Docker rm – remove o container do sistema

docker rm nome container -f

docker rm -f $(docker os -qa) – remove todos os containers do sistema, em execução ou não.

docker images – mostra as imagens locais no sistema

docker rmi – remove a imagem do sistema , para remover tem que remover o container e depois remover a imagem

docker rmi – remove a imagem do sistema , para remover tem que remover o container e depois remover a imagem

docker exec – executa um comando em um container em execução - it – terminal interativo no container

-it - -i interativo t tty – terminal - abre um terminal interativo

docker exec -it webserver bash

docker logs – é o visualizador de logs do Docker

docker logs nome do container -f

Docker file

https://docs.docker.com/engine/reference/builder/

Dockerfile – Instrução FROM

Dockerfile – Instrução LABEL

Dockerfile – Instrução RUN

Dockerfile – Instrução WORKDIR

Dockerfile – Instrução COPY

Dockerfile – Instrução ADD

Dockerfile – Instrução ENV

Dockerfile – Instrução ENTRYPOINT & CMD

Dockerfile – Instrução USER

Dockerfile – Instrução VOLUME

Dockerfile – Montando sua primeira imagem customizada


########## Principais parametro para criar uma imagem ###############

- Dockerfile - Entendendo sua sintaxe


- Dockerfile - Instrução FROM nginx # Indica a imagem base a ser utilizada a mesma
será baixada do Docker Hub.
- Dockerfile - Instrução LABEL # Utilizado para passar comentários dentro do
dockerfile como o dono do dockerfile por exemplo.
- Dockerfile - Instrução RUN apt-get update && apt-get upgrade # Executa um comando
na construção da imagem
- Dockerfile - Instrução WORKDIR /usr/share/nginx # Define o diretório inicial do
seu container.
- Dockerfile - Instrução COPY ./site:/usr/share/nginx # Copia o conteudo da pasta
site que está local para dentro do container no caminho especificado.
- Dockerfile - Instrução ADD ./site:/usr/share/nginx # Adiciona o conteudo da pasta
site que está local para dentro do container no caminho especificado.
- Dockerfile - Instrução ENV HOST_DB=MYSQLDB # Passa variaveis para a imagem
- Dockerfile - Instrução ENTRYPOINT nginx & CMD # Defini o comando a ser executado
no inicio do container.
- Dockerfile - Instrução USER nginx # Define o usuário a ser utilizado nos
comandos posteriores a este.
- Dockerfile - Instrução EXPOSE 80 # Deixa explicito ao usuário final que
está porta precisa ser publicada para poder funcionar.
- Dockerfile - Instrução VOLUME # Mapeamento de pastas ou volumes para o container

sudo apt-get install zip


wget http://pages.cloudtreinamentos.com/aws/arquivos/aplicacao_python.zip
sudo unzip aplicacao_python.zip

docker build -t app-python .

################ Docker hub #####################


docker tag local-image:tagname new-repo:tagname
docker push new-repo:tagname

###############################################

Docker Compose

https://docs.docker.com/compose/
Stack

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$


(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

docker-compose up -d

jvcell/flashkapp

############# Laboratorio Swarm

http://pages.cloudtreinamentos.com/aws/arquivos/Laboratorio_swarm.zip

docker stack deploy -c docker-compose.yml app

docker
docker service ls
docker service ps SERVICE_ID

Você também pode gostar