Docker para iniciantes: tudo que você precisa saber

Jun 15, 2025
Linux

Docker. Cria aplicativos embalados chamado recipientes. Cada contêiner fornece um ambiente isolado semelhante a máquina virtual (VM). Ao contrário das VMs, recipientes de Docker Não execute um sistema operacional completo . Eles compartilham o kernel do seu anfitrião e virtualizam em nível de software.

Noções básicas de Docker.

O Docker tornou-se uma ferramenta padrão para desenvolvedores de software e administradores do sistema. É uma maneira legal de lançar rapidamente os aplicativos sem impactar o resto do seu sistema. Você pode girar um novo serviço com um único Docker Run. comando.

Os contêineres encapsulam tudo o que é necessário para executar um aplicativo, de dependências do sistema operacional ao seu próprio código-fonte. Você define as etapas de criação de um contêiner como instruções em um DockerFile. . O Docker usa o Dockerfile para construir um imagem .

As imagens definem o software disponível em contêineres. Isso é solamente equivalente a iniciar uma VM com um sistema operacional ISO. Se você criar uma imagem, qualquer usuário do Docker poderá iniciar seu aplicativo com Docker Run. .

Como funciona o Docker?

Os contêineres utilizam recursos do kernel do sistema operacional para fornecer ambientes parcialmente virtualizados. É possível criar recipientes do zero com comandos como chroot. . Isso inicia um processo com um diretório raiz especificado em vez da raiz do sistema. Mas usando recursos do kernel diretamente é fiddly, inseguro e propenso a erros.

O Docker é uma solução completa para a produção, distribuição e uso de contêineres. Lançamentos modernos de encaixe são compostos de Vários componentes independentes . Primeiro, há o encaixe Cli. , que é o que você interage no seu terminal. O CLI envia comandos para um Daemon de Docker. . Isso pode executar localmente ou Em um host remoto . O daemon é responsável por gerenciar contêineres e imagens que são criadas.

O componente final é chamado de Tempo de execução do contêiner . O tempo de execução invoca recursos do kernel para lançar recipientes. Docker é compatível com as runtimes que aderem ao Especificação de oci. Este padrão aberto permite a interoperabilidade entre diferentes ferramentas de contêinerização.

Você não precisa se preocupar muito com o funcionamento interno do Docker quando você é primeiro começar. Instalando Docker. Em seu sistema, você dará tudo o que você precisa para construir e executar contêineres.

Por que tantas pessoas usam o Docker?

Os recipientes tornaram-se tão populares porque resolvem muitos desafios comuns no desenvolvimento de software. A capacidade de conter uma vez e correr em todos os lugares reduz a lacuna entre Seu ambiente de desenvolvimento e seus servidores de produção.

O uso de contêineres lhe dá confiança de que todo ambiente é idêntico. Se você tem um novo membro da equipe, eles só precisam Docker Run. para configurar sua própria instância de desenvolvimento. Quando você inicia seu serviço, você pode usar sua imagem de Docker para implantar para a produção. o ambiente ao vivo irá corresponder exatamente à sua instância local, evitando "funciona nos cenários da minha máquina".

O encaixe é mais conveniente do que uma máquina virtual completa. As VMs são ferramentas de uso geral projetadas para suportar todas as cargas de trabalho possíveis. Em contraste, os recipientes são leves, auto-suficientes e mais adequados para casos de uso descartável. Como o Docker compartilha o kernel do hospedeiro, os contêineres têm um impacto insignificante no desempenho do sistema. O tempo de lançamento do contêiner é quase instantâneo, pois você está apenas iniciando processos, nem um sistema operacional inteiro.

Começando

O Docker está disponível em todas as distribuições populares do Linux. Ele também é executado no Windows e MacOS. Segue o Instruções de configuração do Docker para sua plataforma para colocá-lo e correr.

Você pode verificar se sua instalação está funcionando, iniciando um contêiner simples:

 Docker correr Olá-World 

Isso iniciará um novo contêiner com o básico Olá Mundo imagem. A imagem emite alguma saída explicando como usar o Docker. O recipiente então sai, desistindo de volta ao seu terminal.

Criando imagens.

Depois de correr Olá Mundo , você está pronto para criar suas próprias imagens de Docker. Um DockerFile descreve como executar seu serviço por Instalando o software necessário e copiando em arquivos. Aqui está um exemplo simples usando o servidor da Web Apache:

 do httpd: mais recente
Executar echo "loadmodule headers_module módulos / mod_headers.so" & gt; & gt; /usr/local/apache2/conf/httpd.conf.
Copiar .htaccess /var/www/html/.htaccess.
Cópia index.html /var/www/html/index.html.
Copie CSS / / VAR / WWW / HTML / CSS 

o A PARTIR DE linha define a imagem base. Neste caso, estamos começando a partir da imagem oficial do Apache. O Docker aplica as instruções restantes no seu DockerFile no topo da imagem base.

o CORRE O estágio executa um comando dentro do contêiner. Este pode ser qualquer comando disponível no ambiente do contêiner. Estamos habilitando o cabeçalhos Módulo apache, que poderia ser usado pelo .htaccess. arquivo para configurar as regras de roteamento.

As linhas finais copiam os arquivos HTML e CSS em seu diretório de trabalho na imagem do contêiner. Sua imagem agora contém tudo o que você precisa para executar seu site.

Agora, você pode construir a imagem:

 Docker Build -t My-Website: v1. 

O Docker usará seu DockerFile para construir a imagem. Você verá a saída em seu terminal, pois o Docker executa cada uma das suas instruções.

o -t. no comando Tag sua imagem com um determinado nome ( My-Website: v1 ). Isso facilita a se referir no futuro. Tags têm dois componentes, separados por um cólon. A primeira parte define o nome da imagem, enquanto o segundo geralmente denota sua versão. Se você omitir o cólon, o Docker será o padrão para usar Mais recentes como a versão da tag.

o . No final do comando, informa o Docker para usar o DockerFile em seu diretório local. Isso também Define o contexto de construção , permitindo que você use arquivos e pastas em seu diretório de trabalho com CÓPIA DE instruções no seu Dockerfile.

Depois de criar sua imagem, você pode iniciar um contêiner usando Docker Run. :

 Docker Run -D -P 8080: 80 My-website: v1 

Estamos usando algumas bandeiras extras com Docker Run. aqui. o -d. A bandeira faz com que o Docker cli se separe do recipiente, permitindo que ele funcione em segundo plano. Um mapeamento portuário é definido com -p. , então Porta 8080 em seus mapas de host para a porta 80 no contêiner. Você deve ver sua página da web se você visitar localhost: 8080. no seu browser.

Imagens de encaixe são formadas por camadas. Cada instrução no seu DockerFile cria uma nova camada. Você pode usar recursos avançados para Referência múltipla imagens base , descartando as camadas intermediárias de imagens anteriores.

Registros de imagem.

Depois de ter uma imagem, você pode empurrá-lo para um registro. Registros fornecer armazenamento centralizado para que você possa compartilhar contêineres com os outros. O registro padrão é Cubo de Docker. .

Quando você executa um comando que referencia uma imagem, o Docker primeiro verifica se está disponível localmente. Se não for, tentará puxá-lo do hub de Docker. Você pode puxar manualmente imagens com o Pulso de Docker. comando:

 Docker pull httpd: Últimas 

Se você quiser publicar uma imagem, crie um Cubo de Docker. conta. Corre Login de Docker. e digite seu nome de usuário e senha.

Em seguida, marque sua imagem usando seu nome de usuário do Hub Docker:

 Docker Tag My-image: Último Docker-Hub-Username / My-Image: Últimas 

Agora, você pode empurrar sua imagem:

 Docker Push Docker-Hub-Username / My-Image: Últimas 

Outros usuários poderão puxar sua imagem e iniciar os recipientes com ele.

Você pode Execute seu próprio registro Se você precisar de armazenamento de imagem privada. Vários serviços de terceiros também oferecer registros de encaixe como alternativas ao Docker Hub.

Gerenciando seus contêineres

O Docker CLI possui vários comandos para permitir que você gerencie seus contêineres em execução. Aqui estão alguns dos mais úteis para saber:

Listando contêineres.

Docker PS. Mostra todos os seus contêineres em execução. Adicionando o. -uma A bandeira mostrará contentores parados também.

Parando e começando recipientes

Para parar um contêiner, execute Docker pare meu contêiner . Substituir meu contêiner com o nome ou ID do contêiner. Você pode obter essas informações do PS comando. Um recipiente parado é reiniciado com Docker iniciar meu contêiner .

Os recipientes geralmente são executados desde que seu processo principal permaneça vivo. Reiniciar políticas Controle o que acontece quando um contêiner pára ou sua reinicialização do host. Passar --Restart sempre. para Docker Run. para fazer um reinício de contêiner imediatamente depois que ele pare.

Obtendo uma concha

Você pode executar um comando em um recipiente usando Docker Exec My-Contenter My-Command . Isso é útil quando você deseja invocar manualmente um executável que esteja separado para o processo principal do contêiner.

Adicione o -isto Bandeira Se você precisar de acesso interativo. Isso permite que você caia em uma concha correndo Docker Exec -it my-contenter sh .

Registros de monitoramento

O Docker coleta automaticamente a saída emitido para os fluxos de entrada padrão e saída de um contêiner. o Docker registra meu contêiner O comando mostrará os logs de um contêiner dentro do seu terminal. o --Segue A bandeira configura um fluxo contínuo para que você possa visualizar logs em tempo real.

Limpeza de recursos

Recipientes e imagens antigos podem rapidamente empilhar em seu sistema. Usar Docker RM My-Recipiente para excluir um contêiner por seu ID ou nome.

O comando para imagens é Docker RMI My-Image: Últimas . Passe o ID da imagem ou o nome da tag completo. Se você especificar uma tag, a imagem não será excluída até não ter mais tags atribuídas. Caso contrário, a tag dada será removida, mas as outras tags da imagem permanecerão utilizáveis.

Limpeza a granel são possíveis usando o Docker Pune. comando . Isso lhe dá uma maneira fácil de remover todos os recipientes parados e imagens redundantes.

Gestão gráfica

Se o terminal não é sua coisa, você pode usar ferramentas de terceiros para Configure uma interface gráfica para o Docker . Painéis da Web permitem monitorar e gerenciar rapidamente sua instalação. Eles também ajudam você a tomar controle remoto de seus contêineres.

Armazenamento de dados persistentes

Recipientes de Docker são efêmeres por padrão. As alterações feitas no sistema de arquivos de um contêiner não persistirão depois que o contêiner parar. Não é seguro Execute qualquer forma de sistema de armazenamento de arquivos em um recipiente começou com um básico Docker Run. comando.

Existem algumas abordagens diferentes para Gerenciando dados persistentes . O mais comum é usar um volume de encaixe. Volumes são unidades de armazenamento que são montados em sistemas de arquivos de contêineres. Quaisquer dados em um volume permanecerão intactos após a parada de contêiner vinculados, permitindo que você conecte outro contêiner no futuro.

Mantendo a segurança

As cargas de trabalho encaixes podem ser mais seguras do que suas contrapartes de metais nus, já que o Docker fornece alguma separação entre o sistema operacional e seus serviços. No entanto, o Docker é uma questão de segurança potencial, uma vez que normalmente é executado como raiz e poderia ser explorado para executar softwares maliciosos.

Se você estiver executando apenas o Docker como uma ferramenta de desenvolvimento, a instalação padrão é geralmente segura para usar. Servidores de produção e máquinas com um soquete de daemon exposto por rede devem ser endurecidos antes de você ir ao vivo.

Auditar sua instalação de Docker identificar possíveis problemas de segurança. Existem ferramentas automatizadas disponíveis Isso pode ajudá-lo a encontrar fraquezas e sugerir resoluções. Você também pode Digitalizar imagens de contêiner individuais para questões que poderiam ser exploradas de dentro.

Trabalhando com vários contêineres

o Docker. O comando só funciona com um contêiner de cada vez. Você provavelmente vai querer usar contêineres em agregado. Docker Compose. é uma ferramenta que permite definir seus contêineres declarativamente em um arquivo yaml. Você pode iniciá-los todos com um único comando.

Isso é útil quando seu projeto depende de outros serviços, como um back-end da Web que depende de um servidor de banco de dados. Você pode definir os dois recipientes no seu Docker-Compose.yml. e beneficiar de gerenciamento simplificado com Rede automática .

Aqui está um simples Docker-Compose.yml. Arquivo:

 Versão: "3"
Serviços:
  aplicativo:
    Imagem: App-Server: Últimas
    portas:
      - 8000: 80
  base de dados:
    Imagem: servidor de banco de dados: Últimas
    volumes:
        - Dados de banco de dados: / dados
volumes:
    Dados de banco de dados: 

Isso define dois recipientes ( aplicativo e base de dados ). Um volume é criado para o banco de dados. Isso é montado para /dados no recipiente. A porta 80 do servidor de aplicativos é exposta como 8000 no host. Corre Docker-Compose Up -d para girar os dois serviços, incluindo a rede e o volume.

O uso de Docker Compose permite que você Escreva reutilizável Definições de contêineres que você pode compartilhar com outras pessoas. Você poderia cometer um Docker-Compose.yml. em seu controle de versão em vez de ter os desenvolvedores memorizar Docker Run. comandos.

Existem outras abordagens para executar vários contêineres. Aplicativo de Docker Is uma solução emergente que fornece outro nível de abstração. Em outras partes do ecossistema, Podman é uma alternativa de encaixe Isso permite criar "pods" de contêineres dentro do seu terminal.

Orquestração de contêiner

O Docker normalmente não é executado em produção. Agora é mais comum usar uma plataforma de orquestração, como Kubernetes. ou modo de enxame de encaixe. Essas ferramentas são projetadas para lidar com réplicas de contentores múltiplos, que melhora a escalabilidade e a confiabilidade.

O Docker é apenas um componente no movimento de contêinerização mais amplo. Orquestradores Utilize o mesmo Tecnologias de tempo de execução do contêiner para fornecer um ambiente que é melhor para a produção. Usando várias instâncias de contêiner Permite atualizações de rolamento Bem como distribuição em máquinas, tornando sua implantação mais resiliente para mudar e interrupções. O regular Docker. CLI tem como alvo um host e trabalha com contêineres individuais.

Uma plataforma poderosa para contêineres

O Docker oferece tudo o que você precisa para trabalhar com contêineres. Tornou-se uma ferramenta fundamental para o desenvolvimento de software e administração do sistema. Os principais benefícios são maior isolamento e portabilidade para serviços individuais.

Encontrar-se com o Docker requer uma compreensão dos conceitos básicos de contêiner e imagem. Você pode aplicá-los para criar suas imagens e ambientes especializados que contentam suas cargas de trabalho.


Linux - Artigos mais populares

Como forçar os usuários a alterar suas senhas no Linux

Linux Nov 4, 2025

Ilya titchev / shutterstock As senhas são o keystone para a segurança da conta. Mostraremos como redefinir senhas, definir períodos de expiração de senha ..


Como ocultar todos os ícones da área de trabalho no Mac

Linux Jun 23, 2025

Krisda / Shutterstock. Seu Mac Desktop uma bagunça? Realmente não quer organizar tudo? Não se preocupe, você pode usar um comando de terminal para ocultar ..


O que há de novo no GNOME 40?

Linux Jul 23, 2025

Fundação Gnome. O GNOME 40 tem mais que um novo esquema de numeração. Junto com seu novo visual vem uma nova maneira de trabalhar. As antigas metáforas ..


5 Distribuições Linux especializadas com características únicas

Linux Jul 20, 2025

Lendo através da longa lista desinstalada de distros Linux existentes, os sabores diversos e os brotos de fora-brotos começam a desfocar juntos. Para remediar isso, reunimos algumas dist..


Ubuntu 21.10 chega com um desktop personalizado gnome 40

Linux Oct 14, 2025

Ubuntu. Se você é um usuário do Ubuntu, ou alguém que está pensando em dar uma tentativa, hoje é um bom dia. Canônico lançou oficialmente o Ubuntu 21.10 com um de..


10 comandos básicos do Linux para iniciantes

Linux Oct 13, 2025

Basta começar no Linux? Fazendo-se confortável com a linha de comando é essencial. Se você já estiver familiarizado com utilitários de linha de comando, descobrirá que o Linux e o M..


Qual é a época do Unix e como funciona o tempo do UNIX?

Linux Nov 10, 2025

Mikhail Leonov / Shutterstock O UNIX armazena o tempo como o número de segundos desde 1 de janeiro de 1970. E isso significa Linux também. Explicamos este si..


Como listar os serviços Linux com o SystemCTL

Linux Oct 18, 2025

Seu computador Linux depende de muitas tarefas de fundo chamadas serviços ou daemons. Em distribuições baseadas no SystemD, você possui comandos internos que permitem ver quais serviços es..


Categorias