Docker é Legal!
- Docker é uma plataforma Open Source escrito em Go, uma linguagem de programação de alto desempenho desenvolvida dentro do Google, que facilita a criação e administração de ambientes isolados.
- O Docker possibilita o empacotamento de uma aplicação ou ambiente inteiro dentro de um container
Pré-requisito:
- Kernel > 3.8
- Sistema x64
sudo apt update
sudo apt install docker.io -y
ou
sudo apt install curl -y
sudo curl -fsSL https://get.docker.com/ | sh
Após a instalação
docker --version
docker ps
Obs.: Para usar o docker sem sudo use o comando abaixo, após isso deslogue e logue novamente
sudo usermod -aG docker $USER
docker run hello-world
Obs.: Sempre que uma imagem não estiver no seu HOST Docker irá fazer o download no DockerHub, aluno(a) Cadê sua conta no Dockerhub??
docker images
docker ps -a
docker run -ti ubuntu bash
docker run -it debian bash
- Obs.: -ti ou it indica terminal interativo, Ubuntu ou Debian é a imagem a ser utilizada e bash é o comando a ser utilizado;
- Obs2.: Utilizando o -d o container rodar em background;
- Obs3.: Com --name você pode dar um nome ao seu container;
- Obs4.: possível especificar a versão da imagem a ser utilizada:
docker run -ti ubuntu:22.04 bash
- Para sair do container e finalizar o processo use Ctrl+D;
- Para sair do container sem finalizar o processo use Ctrl+P+Q;
- Para voltar para o container ativo pegue o CONTAINER ID usando:
docker ps
docker attach CONTAINER_ID/NAMES
docker exec -it CONTAINER_ID/NAMES bash
docker stop CONTAINER_ID
docker start CONTAINER_ID
docker pause CONTAINER_ID
docker unpause CONTAINER_ID
docker stats CONTAINER_ID
docker top CONTAINER_ID
docker logs CONTAINER_ID
docker rm CONTAINER_ID
docker rm -f CONTAINER_ID
docker container prune
docker rmi IMAGEM_ID
docker rmi -f IMAGEM_ID
docker inspect CONTAINER_ID
docker run -ti --memory 512m --name novo_ubuntu
- ou -m
docker run -ti -m 512m --name novo_ubuntu
docker update -m 256m CONTAINER_ID
dcoker update -m 256m novo_ubuntu
docker run -ti --cpu-shares 1024 --name container1 ubuntu
docker inspect container1 | grep -i cpu
docker update --cpu-shares 512 container1
docker run -ti -v /home/ubuntu/volume:/volume ubuntu /bin/bash
docker run -ti -v /path/to/my/host/volume:/volume ubuntu
docker create -v /data --name dbdados ubuntu
docker build .
docker build -t image_name:1.0 .
docker images
docker run -ti image_name:1.0
docker history image_name:1.0
docker tag IMAGE_ID new_name:1.0
docker login
docker push new_name:1.0 **mesmo nome do seu usuário criado no Dockerhub**
docker search user_name
docker pull user_name/image_name
docker run -ti user_name/image_name
docker run -d -p 5000:5000 --restart=always --name new_name image_name
-d para rodar como um daemon; -p linkar a porta do docker host com a do container; --restart caso o container morra, assim que o docker voltar o container sobe; --name dar nome ao container
docker run -ti --dns 8.8.8.8 debian
cat /etc/resolv.conf
docker run -ti --hostname conatiner debian (nome interno ao container)
cat /etc/hostname
docker run -ti --name ping ubuntu
docker run -ti --link container1 --name pong ubuntu
ping pong
cat /etc/resolv.conf
cat /etc/hosts
docker run -ti --expose 80 debian
docker run -ti --publish 8080:80 debian
docker run -ti -p 8080:80 debian