Nos últimos anos, o Docker ganhou popularidade como aplicação de contêinerização. Os contêineres oferecem os benefícios das máquinas virtuais sem a sobrecarga associada.
Uma máquina virtual permite que os usuários iniciem um sistema operacional independente em cima de outra máquina. Isso significa que os usuários podem executar outra máquina Linux ou Windows em cima de seu sistema operacional atual. No entanto, é um processo intensivo em recursos.
Cada máquina virtual inicia seu próprio kernel, binários, bibliotecas e aplicações no topo da máquina host. Os contêineres resolvem esse problema ao compartilhar o kernel da máquina host. Ele se separa apenas no nível do aplicativo. Binários e bibliotecas são separados apenas quando necessário. Como resultado, os contêineres têm tempos de execução mais rápidos e pegadas menores. Docker é atualmente a tecnologia de contêiner mais popular.
Instalação no Ubuntu
Pré -requisito
Docker tem uma versão comunitária gratuita chamada Docker CE e uma versão paga da empresa chamada Docker EE. Neste artigo, nos concentraremos na versão da comunidade.
Docker CE requer uma versão de 64 bits do Ubuntu em qualquer um dos seguintes sabores:
- Picante 17.04
- Xenial 16.04 (LTS)
- Confiável 14.04 (LTS)
Você pode executar muitos dos comandos como usuário sem raiz. No entanto, você precisará de acesso root (sudo) para alguns dos comandos.
Instalando o docker
Existem várias maneiras de instalar o docker. Neste tutorial, configuraremos o repositório do Docker e instalaremos o Docker CE no repositório. Além disso, estamos assumindo que você tem uma máquina limpa sem versões anteriores do Docker. Se você tem uma versão anterior do Docker, desinstale a versão antes de começar.
Configuração do repositório
1. Atualize seu pacote APT para garantir que seu sistema operacional esteja atualizado:
Atualização $ sudo apt-get |
2. Instale os seguintes pacotes:
Software-Properties-Common |
3. Adicione a chave GPG oficial
$ CURL -FSSL https: // Download.Docker.com/linux/ubuntu/gpg | Sudo Apt-Key Add - |
Verifique se a impressão digital principal é 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88. Você pode usar o seguinte comando:
$ sudo apt-key impressão digital 0EBFCD88 |
Pub 4096r/0EBFCD88 2017-02-22 |
Impressão digital chave = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 |
UID Docker Release (CE Deb) |
sub 4096r/f273fcd8 2017-02-22 |
4. Configure um repositório estável usando o seguinte:
$ sudo add -pt-repository \ |
"Deb [arch = amd64] https: // download.Docker.com/linux/ubuntu \ |
O "arco" define a arquitetura. Para x86_64, use "arch = amd64", para usar a ARMHF "arch = armhf" e para s390x use "arch = x390x".
Configuração do Docker CE
1. Atualize seus pacotes apt:
Atualização $ sudo apt-get |
2. Instale o mais recente Docker CE:
$ sudo apt-get Install -y Docker-CE |
3. O comando acima deve instalar o docker e iniciar o daemon. Verifique se o daemon está em execução usando o seguinte comando:
$ sudo systemctl status docker
O resultado deve parecer abaixo. O status "ativo (em execução)" significa que está tudo bem.
● Docker.Serviço - Docker Application Container Engine |
Carregado: Carregado (/lib/Systemd/System/Docker.serviço; habilitado; Predefinição do fornecedor: ativado) |
Ativo: ativo (em execução) desde o sol 2017-08-30 06:53:52 PDT; 2 horas atrás |
Docs: https: // docs.Docker.com |
PID principal: 827 (Docker) |
Usando o docker
Para usar o Docker, você precisa entender 3 conceitos:
-
- Docker Hub: Docker Hub é o repositório baseado em nuvem, onde você armazena todas as imagens públicas do Docker. Você pode criar um login no Docker Hub aqui: https: // hub.Docker.coma
- Imagens do Docker: Imagens do Docker são as impressões azuis de diferentes contêineres. É um instantâneo do contêiner.
- Docker Container: executando uma imagem do Docker, você recebe um contêiner. O contêiner é a máquina de trabalho que você usará para suas tarefas.
Vamos começar usando o Docker.
Comandos do docker
Você pode ver todos os comandos do Docker com o seguinte:
Você pode encontrar todos os comandos do Docker aqui.
Se você quiser descobrir um comando específico, pode usar:
$ Docker Target -Command -Help
onde “alvo-command” é o comando que você deseja investigar.
Download de imagens do Docker
As imagens do Docker são baixadas do Docker Hub. Você não precisa fazer login para baixar e usar imagens, mas precisa de um login para fazer upload de imagens.
Faça o download da sua primeira imagem do Docker usando o seguinte comando:
A saída deve ficar assim:
Não é possível encontrar a imagem 'Hello-World: mais recente' localmente |
mais recente: puxar da biblioteca/hello-World |
B04784FBA78D: Pull completo |
Digest: sha256: f3b3b28a45160805bb16542c9531888519430e9e6d6ffc09d72261b0d26ff7f |
STATUS: Imagem mais recente baixada para o Hello-World: mais recente |
Esta mensagem mostra que sua instalação parece estar funcionando corretamente. |
Nas linhas acima, o Docker procurou pela primeira vez a imagem "Hello-World" no seu repositório local. Quando foi "incapaz de encontrar a imagem", puxou -a do Docker Hub. Então ele executou o contêiner do Hello-World.
O comando a seguir mostrará as imagens disponíveis no Docker Hub:
Estávamos procurando imagens relacionadas ao “nginx”. A saída parcial se parece com o seguinte:
Nome Descrição Estrelas Oficiais automatizados |
Nginx Construção oficial do Nginx. 6737 [ok] |
Jwilder/Nginx-Proxy Nginx Reverso Reverso Proxy para Docker C… 1099 [OK] |
Richarvey/Nginx-php-fpm Contêiner executando nginx + php-fpm capaz… 429 [ok] |
Como alternativa, você pode ir para https: // hub.Docker.com/ e procure imagens. "Official" denota versões que foram verificadas pela equipe do Docker.
Você também pode usar o comando "puxar" para baixar imagens:
Você pode visualizar todas as imagens do seu repositório local com o seguinte comando
A saída deve ficar assim:
ID da imagem da tag repositório Tamanho criado |
Ubuntu mais recente ccc7a11d65b1 3 semanas atrás 120MB |
Nginx mais recente B8EFB18F159B 5 semanas atrás 107MB |
Hello World mais recente 1815C82652C0 2 meses atrás 1.84kb |
Com as imagens do seu repositório local, você pode iniciar um contêiner. Por exemplo, você pode iniciar seu contêiner nginx do repositório acima.
Recipientes em execução
Suponhamos que queremos criar um contêiner ubuntu a partir da imagem do Ubuntu disponível. Você pode usar o seguinte comando:
A opção -it diz ao comando run para executar um shell interativo. Você verá um prompt de comando como este:
Isso significa que você está conectado como usuário root ao contêiner com o ID 6370A8B73050. Você pode instalar o que quiser neste contêiner. Suponha que você queira instalar Python.
Você pode usar os comandos:
raiz@6370a8b73050:/# Atualização apt-get |
E
raiz@6370a8b73050:/# apt -get install -y python3.5 |
Depois que as instalações são bem-sucedidas, você terá um contêiner Ubuntu pronto para Python.
Você sempre pode verificar o status do contêiner da linha de comando do seu host ($ significa prompt de host e root@6370a8b73050 Prompt de contêiner):
Comando de imagem de identificação de contêiner nomes de portas de status criados |
6370A8B73050 Ubuntu "/Bin/Bash" 13 minutos atrás, 12 minutos Cranky_bassi |
Comando de imagem de identificação de contêiner nomes de portas de status criados |
6370A8B73050 Ubuntu "/Bin/Bash" 13 minutos atrás, 13 minutos Cranky_Bassi |
6a16d462dd28 ubuntu "/bin/bash" 16 minutos atrás (0) 15 minutos atrás |
889d3a9328f2 nginx "nginx -g 'daemon…" 18 minutos atrás (0) 17 minutos atrás hardcore_ritchie |
Na saída acima, o comando ps está mostrando apenas o contêiner em execução, enquanto o comando ps com a opção "-a" está mostrando todos os contêineres.
Salvar recipientes como imagens
Suponha que você queira salvar seu recipiente Python como uma imagem para reutilizá -la mais tarde.
Primeiro saia do contêiner:
raiz@6370a8b73050:/# saída |
Você pode salvar o contêiner no repositório local usando o seguinte comando:
$ Docker Commit -m “Descrição das alterações” -a “Nome do autor” ContainerID Repository/Imagename
O repositório é geralmente seu nome de usuário do Docker Hub. Então você pode salvar seu recipiente Python como este:
$ Docker Commit -M "Python3.5 contêiner "-a" zak h "6370a8b73050 zakh/python3.5 prontos |
Se você verificar suas imagens, terá uma imagem Python em seu repositório:
ID da imagem da tag repositório Tamanho criado |
Zakh/Python3.5 mais recente 6DDF31466A89 2 minutos atrás 196MB |
Ubuntu mais recente ccc7a11d65b1 3 semanas atrás 120MB |
Nginx mais recente B8EFB18F159B 5 semanas atrás 107MB |
Hello World mais recente 1815C82652C0 2 meses atrás 1.84kb |
Você pode empurrar esta imagem para o hub do docker usando os seguintes comandos:
Docker Login -U Nome de usuário
Docker Push Push Username/Imagename
No caso acima, será:
Docker Push Zakh/Python3.5 prontos |
Depois de empurrar o contêiner para o Hub do Docker, outros podem baixar a imagem para seus computadores e usar o Python3.5 ambiente que você configura.
Limpando
O comando a seguir removerá contêineres:
Docker RM ContainerID
O comando a seguir removerá as imagens do seu repositório local:
Docker RMI ImageId
Palavras finais
O guia acima oferece um processo passo a passo para usar o Docker para simplificar seu desenvolvimento. Você pode criar suas configurações pessoais, salvá -las como imagens e compartilhá -las com outros usuários ou reutilizar as imagens você mesmo. Acelera todo o processo de desenvolvimento.
Tópicos avançados
- Você pode usar o Dockerfile para criar imagens a partir de arquivos YAML escritos.
- O Docker Swarm pode ajudá -lo a orquestrar e gerenciar um grande número de nós do Docker.
Referências:
- https: // docs.Docker.com/mecanismo/instalação/linux/docker-c/ubuntu/
- https: // www.Digitalocean.com/comunidade/tutoriais/como Instalação e Use-Docker-on-Ubuntu-16-04
- https: // Docker-Curriculum.coma
- https: // www.Digitalocean.com/comunidade/tutoriais/the-docker-ecossistema-an-introdução para componentes comuns
- https: // www.Airpair.com/docker/posta
- http: // www.zdnet.com/artigo/o que é-docker-e-why-it-it-So-Darn-Popular/
- https: // docs.Docker.com/empreendedor/
- https: // docs.Docker.com/motor/enxame
- https: // docs.Docker.com/mecanismo/referência/construtor/
- https: // docs.Docker.com/mecanismo/referência/commandline/docker/