Artigo
· Nov. 13, 2023 10min de leitura

Introdução ao Docker

Olá, comunidade,

Neste artigo, vamos aprender sobre os tópicos listados abaixo:

  1. O que é o Docker?
  2. Alguns dos benefícios do Docker
  3. Como o Docker funciona?
  4. Imagem do Docker
  5. Contêiner Docker
  6. Repositório de imagens do Docker
  7. Repositório de imagens do Docker da InterSystems
  8. Instalação do Docker
  9. Comandos básicos do Docker
  10. Execução do IRIS Community Edition usando o docker
  11. GUI do Docker Desktop

Vamos começar.

1. O que é o Docker?

Um guia do Docker para iniciantes — como criar seu primeiro aplicativo Docker
O Docker é um software de virtualização que facilita muito o desenvolvimento e a implantação de aplicativos. O Docker faz isso ao empacotar o aplicativo em um contêiner que contém tudo o que o aplicativo precisa para ser executado, incluindo o código do aplicativo, as bibliotecas e dependências, o runtime e a configuração do ambiente.

O Docker é uma plataforma de conteinerização que permite aos desenvolvedores criar, implantar e executar aplicativos em um ambiente conteinerizado. O Docker fornece uma maneira de empacotar um aplicativo e as dependências dele em um único contêiner que pode ser executado em qualquer máquina compatível com o Docker. Isso faz com que seja fácil criar aplicativos leves e portáveis que podem ser implantados rapidamente e sem esforço.

2. Alguns dos benefícios do Docker

Confira abaixo alguns dos benefícios de usar o Docker:

  • Portabilidade Os contêineres do Docker podem ser executados em qualquer máquina compatível com o Docker, facilitando a implantação de aplicativos em ambientes diferentes.
  • Consistência Ao empacotar um aplicativo e as dependências dele em um contêiner, o Docker garante a execução consistente do aplicativo, independentemente da infraestrutura subjacente.
  • Escalabilidade O Docker elimina as dificuldades de escalar aplicativos horizontalmente ao executar várias instâncias do mesmo contêiner.
  • Eficiência de recursos Os contêineres Docker são leves e exigem recursos mínimos, fazendo com que sejam ideais para a execução em infraestrutura na nuvem.
    • Segurança O Docker fornece um ambiente seguro e isolado para executar aplicativos, reduzindo o risco de conflitos com outros aplicativos ou com o sistema de host.

     

    3. Como o Docker funciona?

    O Docker cria um ambiente virtualizado para um aplicativo, chamado contêiner. Um contêiner é um pacote leve, independente e executável que incorpora tudo o que é necessário para executar o aplicativo, incluindo código, bibliotecas e dependências. Os contêineres são isolados do sistema de host. Portanto, eles podem ser executados em qualquer máquina compatível com o Docker, independentemente do hardware ou sistema operacional subjacente.

    Os contêineres são criados a partir de imagens que são modelos somente leitura que definem o aplicativo e as dependências dele. Essas imagens são armazenadas em um repositório central, chamado registro, como Docker Hub ou um registro privado. Os desenvolvedores podem criar imagens personalizadas por conta própria ou usar as pré-criadas do registro.

    Quando um contêiner é iniciado, ele é criado a partir de uma imagem e recebe o próprio sistema de arquivos isolado, rede e espaço de processo. Então, o contêiner consegue executar o aplicativo como se estivesse sendo executado em um servidor dedicado.

     

    4. Imagens do Docker

    Uma imagem do Docker é um pacote leve, independente e executável que retém o necessário para executar um aplicativo, incluindo o código, as bibliotecas e as dependências. As imagens do Docker são empregadas para criar e executar contêineres, que são ambientes isolados que podem ser utilizados para executar aplicativos.

    As imagens do Docker são criadas a partir de um Dockerfile, que é um arquivo de texto com um conjunto de instruções para criar a imagem. O Dockerfile especifica a imagem de base, o código e as dependências do aplicativo, as variáveis do ambiente e outras opções de configuração necessárias para criar a imagem.

    As imagens do Docker são armazenadas em um registro, como o Docker Hub ou um privado. Sempre que um contêiner é criado a partir de uma imagem, ele é executado como um processo separado na máquina host, isolado de outros processos e contêineres.

    As imagens do Docker podem ser usadas para implantar aplicativos de maneira consistente em várias plataformas diferentes. Elas facilitam empacotar, distribuir e implantar aplicativos, além de garantir que sejam executados da mesma maneira em todos os lugares.

     

    5. Contêineres Docker

    Uma instância em execução de uma imagem é um Contêiner, que, conforme mencionado acima, é um pacote leve, independente e executável que inclui tudo o que é necessário para executar um aplicativo, incluindo o código, as bibliotecas e as dependências.

    Um contêiner Docker fornece um ambiente isolado para executar um aplicativo, garantindo que tenha todos os recursos necessários para a execução adequada. Cada contêiner é executado como um processo separado na máquina host e tem seu próprio sistema de arquivos, rede e outros recursos.

    Os contêineres Docker são feitos para serem portáteis e fáceis de implantar. Eles podem ser executados em qualquer máquina que tenha o Docker instalado, independentemente do hardware ou sistema operacional subjacente. Os contêineres oferecem um ambiente consistente para executar aplicativos, tornando mais confortável mover aplicativos entre diferentes ambientes, como desenvolvimento, teste e produção.

    Os contêineres Docker podem ser gerenciados com a ajuda da CLI do Docker ou ferramentas do Docker como Docker Compose ou Kubernetes. Eles podem ser iniciados, parados, interrompidos e reinicializados conforme necessário. Eles também podem ser monitorados e gerenciados usando uma variedade de ferramentas e plataformas.

    Em geral, os contêineres Docker oferecem uma maneira flexível e escalável de empacotar e implantar aplicativos, deixando menos complicado gerenciar e escalar aplicativos complexos em diferentes ambientes e plataformas.

     

    6. Repositório de imagens do Docker

    O Docker hospeda um dos maiores Repositórios Docker, chamado Docker Hub. É um sistema de armazenamento e distribuição para imagens do Docker. Ele fornece um repositório central para que desenvolvedores e organizações compartilhem e distribuam as imagens do Docker, tornando mais divertido criar, compartilhar e implantar aplicativos com o Docker.

    Com o Docker Hub, usuários e organizações podem armazenar e gerenciar as imagens do Docker, além de oferecer recursos como versionamento, inclusão de tags e colaboração. Os usuários podem pesquisar e baixar imagens do Docker Hub, assim como publicar as próprias imagens no registro.

    Além do registro público, o Docker Hub disponibiliza um registro privado para organizações que querem gerenciar as próprias imagens do Docker e garantir que sejam acessadas somente por usuários autorizados.

     

     

    7. Repositório de imagens do Docker da InterSystems

    Ao usar o recurso de pesquisa do Docker Hub, podemos encontrar imagens da InterSystems.

     

    8. Instalação do Docker

    Para usar o Docker, precisamos instalá-lo no nosso sistema. O Docker fornece pacotes de instalação para vários sistemas operacionais, incluindo Windows, macOS e Linux.
    Acesse o site do Docker.  Podemos baixar o pacote de instalação no site do Docker, executar o instalador e seguir os comandos para concluir a instalação.

    Depois de instalar o Docker Desktop, podemos usar a CLI (Interface de Linha de Comando) do Docker para gerenciar imagens, contêineres, redes e outros recursos do Docker.  

     

    9. Comandos básicos do Docker

    Vamos revisar alguns dos comandos básicos da CLI do docker. (Certifique-se de que está executando o Docker Desktop antes de usar os comandos indicados abaixo)

    9.1 Listar imagens (localmente)
    Podemos usar o comando docker image ls para listar todas as imagens do Docker disponíveis no nosso sistema. Veja como você pode usar esse comando:

    docker image ls

    <

    p>
    Como você pode ver, atualmente, não temos nenhuma imagem localmente

    9.2 Extrair imagens do repositório do Docker

    Podemos usar o comando docker pull para baixar uma imagem do Docker a partir de um registro

    docker pull <image>

    Vamos extrair uma imagem da intersystemsdc/iris-community a partir do docker hub

    Nesse ponto, usamos o comando de lista para ver as imagens localmente

    Muito bem! A imagem da iris-community foi extraída com sucesso

    9.3 Remover imagem localmente
    Podemos usar o comando docker image rm  para excluir a imagem do nosso sistema

    docker image rm <image name>

    9.4 Listar todos os contêineres existentes (em execução ou não)
    Podemos utilizar o comando docker ps para listar os contêineres em execução

    docker ps 

    <

    p>
    Conforme exibido na foto, nenhum contêiner está em execução no momento.

    9.5 Criar e iniciar o contêiner
    Podemos usar o comando docker run para criar e iniciar o contêiner

    docker run <image id/namge>

    Vamos criar e iniciar o contêiner da imagem da iris-community

    Aqui, -d ou --detach significa o seguinte: execute o comando em segundo plano e retorne o controle ao terminal.

    É hora de listar os contêineres em execução mais uma vez

    docker ps

    <

    p>Podemos ver que nosso contêiner da imagem da iris-community está em execução agora.

    9.6 Parar um contêiner específico
    Podemos usar o comando docker stop para parar o contêiner em execução

    docker stop <container id/name>

    9.7 Iniciar um contêiner específico
    Podemos usar o comando docker start para iniciar um contêiner que foi interrompido antes no Docker. 

    docker start <container id/name>

    9.8 Reiniciar um contêiner específico

    Podemos usar o comando docker restart para parar e iniciar o contêiner em execução no Docker

    docker restart <container id/name>

    9.9 Remover um contêiner específico

    Podemos usar o comando docker rm para remover o contêiner interrompido

    docker rm <container id/name>

    9.10 Executar um comando dentro de um contêiner em execução
    Podemos utilizar o comando docker exec para executar um comando dentro de um contêiner em execução. Isso pode ser útil ao realizar tarefas administrativas ou para fins de depuração.

    docker exec -it my-container sh

    Algumas das opções comuns para o comando docker exec são:

    • -i ou --interactive:  esse comando mantém o STDIN aberto mesmo se não estiver anexado, permitindo que você interaja com o contêiner.
    • -t ou --tty:  esse comando aloca um pseudo TTY ao comando, permitindo que você use os comandos do terminal dentro do contêiner.
    • -d ou --detach:  isso executa o comando em segundo plano e retorna o controle ao terminal.

     

    10. Execução do IRIS Community Edition usando o docker

    Utilize o comando listado abaixo para executar o contêiner ao implantar a imagem da iris-community

    docker run -d -p 52773:52773 intersystemsdc/iris-community

    Algumas opções comuns para o comando docker exec são as seguintes:

    • -d : esse comando é usado para iniciar um novo contêiner Docker no modo detached, ou seja, o contêiner será executado em segundo plano e poderemos continuar usando o terminal para outras tarefas.
    • -p:  esse comando nos ajuda a publicar a porta de um contêiner na máquina host para possibilitar o acesso ao contêiner de fora da rede do Docker.

    Na ilustração abaixo, você pode ver a execução do IRIS no Docker.

     

    11. GUI do Docker Desktop

    O Docker desktop também tem uma GUI em que podemos utilizar todos os comandos mencionados acima de forma gráfica.

     

    Resumo

    O Docker é uma ferramenta poderosa que permite desenvolvedores e equipes de TI criar, implantar e executar aplicativos em um ambiente conteinerizado. Ao fornecer portabilidade, consistência, escalabilidade, eficiência de recursos e segurança, o Docker facilita a implantação de aplicativos em diferentes ambientes e infraestruturas. Com a crescente popularidade da conteinerização, o Docker está se tornando uma ferramenta essencial para o desenvolvimento e a implantação de software moderno.
    No próximo artigo, vamos aprender como usar um Docker file (usado para criar uma imagem do Docker), o Docker compose (um arquivo YAML que especifica as opções de configuração para cada contêiner no aplicativo) e o Docker volume (um mecanismo de armazenamento de dados persistente operado para compartilhar dados entre os contêineres Docker e a máquina host).

     

    Obrigado pela leitura!

    Discussão (0)1
    Entre ou crie uma conta para continuar