O documento fornece instruções passo a passo para instalar o Docker no Ubuntu, criar e gerenciar containers e imagens Docker, incluindo como mapear portas, criar volumes e adicionar variáveis de ambiente.
2. Instalando o Docker no Ubuntu
Utilizei o ubuntu 18.04, 64 btis.
Passo 1: abrir o terminal.
Passo 2: Atualize o sistema:
sudo apt update && sudo apt upgrade
Passo 3: Instale alguns pacotes necessários para a instalação do Docker:
sudo apt-get install apt-transport-https ca-certificates curl gnupg software-
properties-common
Passo 4: Em seguida, adicione a chave GPG do repositório do Docker. Isso
serve para adicionar ainda mais segurança aos pacotes que serão baixados:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Passo 5: Adicionar o repositório Docker:
sudo add-apt-repository "deb [arch=amd64]
https://download.docker.com/linux/ubuntu bionic stable"
Passo 6: Instale o Docker:
sudo apt install docker-ce
Passo 7: Após a instalação, para ter o serviço executado na inicialização do
sistema, utilize os seguintes comandos:
sudo systemctl enable Docker
sudo systemctl start docker
Passo 8: Verificar se o Docker estar funcionando:
sudo systemctl status docker
Passo 9: Para saber a versão do Docker:
docker -v
3. Containers
Criando um container hello-world:
sudo docker run hello-world
Para saber quais containers estão ativos no momento:
docker os
Exibe todos os containers:
docker ps -a
Entrar no terminal do container solicitado:
docker run -it ubuntu(container)
Saindo do container:
exit
Iniciando o container que estar parado:
docker start (id do container)
Parar o container:
docker stop (id do container)
Inicia o container e já vai para o terminal dele:
docker start -a -i (id do container)
Remove o container:
docker rm (id do container)
4. Remove todos os containers inativos:
docker container prune
Trabalhando com imagens
Exibe minhas imagens:
docker images
Para remover uma imagem:
docker rmi hello-world(nome da imagem)
Adicionando uma nova imagem:
docker run dockersamples/static-site
Roda o container em background, fazendo com que ele não trave o terminal na
execução:
docker run -d dockersamples/static-site
Quando você encerra um container por padrão ele encerra com 10 segundos,
mas pode ser parado no mesmo momento usando o comando:
docker stop -t 0 (id do container)
Abrindo uma porta do meu computador para acessar o container(-P o docker
cria uma porta aleatória na minha máquina para acessar a aplicação):
docker run -d -P dockersamples/static-site
Depois docker ps e ele vai mostrar a porta da minha máquina que estar
associada.
Saber quais portas estão sendo utilizadas:
docker port (id da imagem)
5. Dando nome para o container: (Podemos dar nomes aos containers, assim fica
mais fácil de saber qual é o container. Utilizando nos comandos o seu nome e
não o id):
docker run id -P meu-site(nome do container) dockersamples/static-site
Mapeando uma porta específica da minha máquina:
docker run -d -p 12345:80 dockersamples/static-site
Na máquina, para acessar é só colocar a seguinte url no navegador:
http://localhost:12345/
Adicionando uma variável de ambiente:(-e para passar a variável de ambiente):
docker run -d -P -e AUTHOR="Erivan Cledson" dockersamples/static-site
Retorna apenas os ids das imagens:
docker ps -q
Para o que o docker ps -q retornar que são a lista de ids(você pode parar e
remover tudo ao mesmo tempo):
docker stop -t 0 $(docker ps -q)
Usando volumes
Criando o container:( -v criar o volume especificado, que vai ser gerenciado
pelo docker host):
docker run -v "/var/www" ubuntu
Saber mais informações sobre o container:
docker inspect (passa o id)
6. criando o container e o que eu escrever nele em /var/www vai aparecer em
imagens/site no meu computador, a porta 8080 do meu computador vai ser a
porta 3000 do container. O -w inicia meu container na pasta "/var/www":
sudo docker run -p -d 8080:3000 -v "/opt/lampp/htdocs/site:/var/www" -w
"/var/www" node npm start