Crie e teste imagens do Docker para serviços de contêiner Lightsail - Amazon Lightsail

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Crie e teste imagens do Docker para serviços de contêiner Lightsail

Com o Docker, você pode desenvolver, executar, testar e implantar aplicações distribuídas que são baseadas em contêineres. Os serviços de contêiner do Amazon Lightsail usam imagens de contêiner do Docker em implantações para iniciar contêineres.

Neste guia, mostramos como criar uma imagem de contêiner na sua máquina local usando um Dockerfile. Depois que sua imagem estiver criada, você poderá enviá-la para o serviço de contêiner do Lightsail para implantá-la.

Para concluir os procedimentos deste guia, você deve ter uma compreensão básica do Docker e de como ele funciona. Para obter mais informações sobre o Docker, consulte O que é o Docker? e Visão geral do Docker.

Índice

Etapa 1: Concluir os pré-requisitos

Antes de começar, você deve instalar o software necessário para criar contêineres e enviá-los para o serviço de contêiner do Lightsail. Por exemplo, você deve instalar e usar o Docker para criar e construir imagens de contêiner que podem ser usadas com o serviço de contêiner do Lightsail. Para obter mais informações, consulte Instalação de software para gerenciar imagens de contêiner dos serviços de contêiner do Amazon Lightsail.

Etapa 2: criar um Dockerfile e construir uma imagem de contêiner

Conclua o procedimento a seguir para criar um Dockerfile e construa com ele uma imagem de contêiner do Docker do mystaticwebsite. A imagem do contêiner será usada em um site estático simples hospedado em um servidor Web Apache no Ubuntu.

  1. Crie uma pasta mystaticwebsite em sua máquina local em que você armazenará seu Dockerfile.

  2. Crie um Dockerfile na pasta que acabou de criar.

    O Dockerfile não usa uma extensão de arquivo, como .TXT. O nome completo do arquivo é Dockerfile.

  3. Copie um dos seguintes blocos de código, dependendo de como você deseja configurar sua imagem de contêiner, e cole-o em seu Dockerfile:

    • Se você quiser criar uma imagem de contêiner de site estático simples com uma mensagem Hello World, então copie o bloco de código a seguir e cole-o no Dockerfile. Esse exemplo de código usa a imagem do Ubuntu 18.04. As instruções RUN atualizam os caches do pacote, instalam e configuram o Apache e imprimem uma mensagem Hello World na raiz do documento do servidor Web. A instrução EXPOSE expõe a porta 80 do contêiner e a instrução CMD inicia o servidor Web.

      FROM ubuntu:18.04 # Install dependencies RUN apt-get update && \ apt-get -y install apache2 # Write hello world message RUN echo 'Hello World!' > /var/www/html/index.html # Open port 80 EXPOSE 80 # Start Apache service CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
    • Se você quiser usar seu próprio conjunto de arquivos HTML para sua imagem de contêiner de site estático, crie uma pasta html na mesma pasta em que você armazena seu Dockerfile. Em seguida, coloque seus arquivos HTML nessa pasta.

      Depois que seus arquivos HTML estiverem na pasta html, copie o bloco de código a seguir e cole-o no Dockerfile. Esse exemplo de código usa a imagem do Ubuntu 18.04. As instruções RUN atualizam os caches do pacote, instalam e configuram o Apache. A instrução COPY copia o conteúdo da pasta html na raiz do documento do servidor Web. A instrução EXPOSE expõe a porta 80 do contêiner e a instrução CMD inicia o servidor Web.

      FROM ubuntu:18.04 # Install dependencies RUN apt-get update && \ apt-get -y install apache2 # Copy html directory files COPY html /var/www/html/ # Open port 80 EXPOSE 80 CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
  4. Abra um prompt de comando ou uma janela de terminal e altere o diretório para a pasta na qual você está armazenando seu Dockerfile.

  5. Digite o comando a seguir para construir sua imagem de contêiner usando o Dockerfile na pasta. Esse comando cria uma nova imagem de contêiner do Docker chamada mystaticwebsite.

    docker build -t mystaticwebsite .

    Você verá uma mensagem confirmando que sua imagem foi criada com sucesso.

  6. Digite o comando a seguir para visualizar as imagens de contêiner na sua máquina local.

    docker images --filter reference=mystaticwebsite

    Você verá um resultado semelhante ao seguinte exemplo, mostrando a nova imagem de contêiner criada.

    Resultado do comando de imagens do Docker

    Sua imagem de contêiner recém-construída está pronta para ser testada para executar um novo contêiner em sua máquina local. Siga para a próxima seção deste guia Etapa 3: executar sua nova imagem de contêiner.

Etapa 3: executar sua nova imagem de contêiner

Conclua as etapas a seguir para executar a nova imagem de contêiner que você criou.

  1. Em um prompt de comando ou janela de terminal, digite o comando a seguir para executar a imagem de contêiner que você construiu na seção anterior deste guia Etapa 2: criar um Dockerfile e construir uma imagem de contêiner. A opção -p 8080:80 mapeia a porta 80 exposta do contêiner para a porta 8080 da sua máquina local. A opção -d especifica que o contêiner deve ser executado no modo desvinculado.

    docker container run -d -p 8080:80 --name mystaticwebsite mystaticwebsite:latest
  2. Digite o comando a seguir para visualizar os contêineres em execução.

    docker container ls -a

    Você verá um resultado semelhante ao seguinte exemplo, mostrando o novo contêiner em execução.

    Resultado do comando de container do Docker
  3. Para confirmar se o contêiner está funcionando, abra uma nova janela do navegador e vá para http://localhost:8080. Você verá uma mensagem semelhante ao exemplo a seguir. Isso confirma que o contêiner está funcionando na sua máquina local.

    Site estático em execução em um contêiner do Docker

    Sua imagem de contêiner recém-construída está pronta para ser enviada para sua conta do Lightsail para que você possa implantá-la em seu serviço de contêiner do Lightsail. Para obter mais informações, consulte Envio e gerenciamento de imagens de contêiner nos seus serviços de contêiner do Amazon Lightsail.

(Opcional) Etapa 4: limpar os contêineres em execução na sua máquina local

Agora que você criou uma imagem de contêiner que pode ser enviada para o serviço de contêiner do Lightsail, é hora de limpar os contêineres que estão sendo executados na sua máquina local como resultado dos procedimentos deste guia.

Conclua as etapas a seguir para limpar os contêineres em execução na sua máquina local:

  1. Execute o comando a seguir para visualizar os contêineres que estão em execução na sua máquina local.

    docker container ls -a

    Você deve ver um resultado semelhante ao seguinte, que lista os nomes dos contêineres em execução na sua máquina local.

    Resultado do comando de container do Docker
  2. Execute o comando a seguir para remover o contêiner em execução que você criou anteriormente neste guia. Isso força o contêiner a ser interrompido e o exclui permanentemente.

    docker container rm <ContainerName> --force

    No comando, substitua < ContainerName > pelo nome do contêiner que você deseja parar e exclua.

    Exemplo:

    docker container rm mystaticwebsite --force

    O contêiner que foi criado como resultado deste guia deve ser excluído agora.

Próximas etapas após a criação das imagens de contêiner

Depois de criar suas imagens de contêiner, envie-as para o serviço de contêiner do Lightsail quando estiver pronto para implantá-las. Para obter mais informações, consulte Gerenciar imagens do serviço de contêiner Lightsail.