Como Configurar um Contêiner Docker do Apache

Se você é novo no Docker e em containers, configurar um Contêiner Docker Apache é uma ótima maneira de começar. Criar uma aplicação no Docker é um grande benefício por causa de sua tecnologia leve e segura.

Neste tutorial, você aprenderá como configurar um Contêiner Docker Apache no Ubuntu. Use este tutorial para aprender a começar com o Docker e sair com um servidor web Apache também!

Pré-requisitos

Se você deseja seguir o passo a passo, certifique-se de ter o seguinte e um computador com Ubuntu 14.04.4 LTS ou superior com Docker instalado neste tutorial. Este tutorial usa Ubuntu 18.04.5 LTS com Docker v19.03.8 e um endereço IP público de 13.213.48.113.

Configurando o Contêiner Docker Apache

Supondo que você já tenha instalado o Docker, vamos primeiro configurar o contêiner Apache. Mais tarde, você aprenderá como iniciá-lo.

Uma das maneiras mais fáceis de iniciar rapidamente um contêiner Apache Docker é baixando uma imagem de contêiner existente do registro oficial do Docker Docker Hub. Para este exemplo, você baixará e executará um contêiner Docker chamado Apache.

Com alguns comandos do Docker, você estará executando uma instância do Apache em pouco tempo. Para fazer isso, siga as etapas abaixo.

Nota: Este tutorial não cobre a execução detalhada dos comandos do Docker. Para aprender mais sobre os comandos do Docker, visite a página de documentação da linha de comando do Docker.

1. Abra um terminal em sua máquina Ubuntu.

2. Baixe a imagem do Docker, que contém o Apache chamado httpd, executando o comando docker pull abaixo. Esse comando irá baixar ou puxar a imagem do Apache do registro do Docker, como mostrado abaixo.

# Puxa as imagens do Docker do registro do docker para a sua máquina local.
docker pull httpd

A captura de tela abaixo mostra o resultado esperado ao puxar a imagem do Docker Hub.

Pulling the Apache image from Docker Hub

3. Em seguida, confirme que você baixou a imagem executando o docker images comando abaixo para listar todas as imagens disponíveis em seu computador.

# Para verificar as imagens do docker
docker images

Como você pode ver abaixo, agora você tem uma imagem do Docker, que é a imagem que você baixou do Docker Hub.

Checking the Docker images

Executando o Container do Apache usando o Comando do Docker.

Na seção anterior, você baixou a imagem do Docker do Docker Hub. Agora, está pronto para criar um contêiner a partir dessa imagem. Para executar o contêiner Apache, você precisará usar o comando Docker da seguinte maneira:

1. Execute o comando docker run para criar um novo contêiner com base na imagem Apache que você baixou.

# Execute um novo contêiner do Docker chamado docker-apache (--name)
# Mapeie a porta 80 do computador local para a porta 80 do contêiner (-p 80:80)
# No modo destacado (-d)
# Usando a imagem do Apache
docker run -d --name docker-apache -p 80:80 -d httpd

O comando docker run retornará o ID único do contêiner que você acabou de criar. Guarde este ID do contêiner no quadro destacado abaixo para o futuro, caso queira excluir ou remover o contêiner.

Running a new Docker container using an Apache image

2. Quando o contêiner Apache estiver em execução, verifique se consegue acessar a interface web do Apache navegando para Endereço-IP-Público:80 usando seu navegador. Se você visualizar a mesma mensagem que está abaixo, então iniciou com sucesso seu contêiner Docker do Apache.

Certifique-se de que a Máquina Ubuntu 14.04.4 LTS tenha a porta de entrada 80 permitida no grupo de segurança.

Accessing the Apach

3. Por fim, pare o contêiner se não precisar mais que ele esteja em execução, executando o comando docker stop abaixo. Este comando irá parar o contêiner de forma graciosa.

# Pare o contêiner com o ID aaaee64a4512. Certifique-se de alterar o valor do ID do contêiner para o seu.
# Observação: especificar os primeiros 12 caracteres do ID do contêiner é suficiente.
docker stop aaaee64a4512

Alternativamente, você também pode parar um contêiner em execução especificando seu nome no comando docker stop (docker stop docker-apache).

Executando um Contêiner Apache Docker a partir de um Arquivo Docker

Na seção anterior, você aprendeu como iniciar um contêiner Apache Docker executando a imagem Docker httpd padrão. E se você precisar atualizar a imagem base para exibir conteúdo diferente ou expô-lo em uma porta diferente?

Implantar um contêiner usando um arquivo Docker permite que você remova a etapa manual de criação de imagem quando estiver testando a mesma configuração em um sistema operacional diferente. A abordagem do arquivo Docker é um script automatizado de imagens Docker.

Vamos criar um arquivo Docker e executar um contêiner a partir dele.

1. Crie uma pasta chamada ~/apache-server-docker-demo, então altere (cd) o diretório de trabalho para essa pasta.

mkdir ~/apache-server-docker-demo
cd ~/apache-server-docker-demo

2. Crie outro arquivo, copie/cole a configuração abaixo e salve o arquivo como index.html dentro do diretório ~/apache-server-docker-demo. O arquivo index.html é uma página HTML que exibirá Este tutorial ensinará como executar um contêiner Apache no Docker assim que o contêiner iniciar, o que você verá mais tarde no curso.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>This tutorial will teach how to Run Apache container in docker .</title>
</head>
<body>
    <h1>This tutorial will teach how to Run Apache container in docker , lets GO!</h1>
</body>
</html>

3. Crie outro arquivo, copie/cole a configuração abaixo e salve o arquivo como Arquivo Docker dentro do diretório ~/apache-server-docker-demo. Quando concluído, o Docker usará este DockerFile para executar todos os comandos necessários para construir uma nova imagem do Docker em cima de qualquer imagem base.

O DockerFile abaixo contém vários passos/instruções que construirão o contêiner Apache:

  • Maintainer A instrução Maintainer fornece informações sobre o autor que gerencia este arquivo.
  • FROM A instrução FROM inicializa um novo estágio de construção e define a Imagem Base para instruções subsequentes. No trecho de código abaixo, centos:7 é a imagem base.
  • COPY O comando COPY copia um arquivo da máquina host (host Docker) para o contêiner. O ****index.html que você criou anteriormente no host Docker será copiado para o diretório /var/www/html do contêiner.
  • EXPOSE– A instrução EXPOSE informa ao Docker que o contêiner escuta nas portas de rede especificadas em tempo de execução. O servidor web Apache é exposto por padrão na Porta 80.
# Instrução para o Dockerfile criar uma nova imagem em cima da imagem base (httpd)
FROM httpd:2.4
MAINTAINER [email protected]
COPY index.html /var/www/html/
EXPOSE 80

4. Em seguida, verifique todos os arquivos necessários abaixo na pasta executando o comando tree.

Verify all the required files

5. Em seguida, construa a imagem executando o comando docker build. A flag t é usada para marcar a imagem apache-server com v1 e. significa o diretório de trabalho atual.

# Construindo a Imagem Docker
sudo docker build  -t apache-server:v1 .
build the image by running the docker build command

Quando o Docker constrói, retorna vários atributos. Você verá um desses atributos é REPOSITORY. O nome do REPOSITÓRIO é apache-server, e a imagem é marcada com a versão v1, como mostrado abaixo.

Repository Attributes

6. Por fim, execute o contêiner Apache usando a imagem recém-construída executando o comando docker run.

A flag p publica a(s) porta(s) do contêiner para o host, que é 80:80. A flag -it instrui o Docker a alocar um pseudo-terminal conectado ao stdin do contêiner.

# Executando o contêiner Apache usando a imagem recém-construída
docker run -it -p 80:80 apache-server:v1

7. Por fim, verifique se consegue acessar a interface web do Apache navegando até Endereço-ip-público:80 usando o seu navegador da web. Você verá esta mensagem na interface web porque criou o arquivo index.html, e o Docker o copiou para o contêiner quando foi iniciado.

verify if you can access the Apache web interface

Conclusão

Este tutorial teve como objetivo ajudá-lo no processo de configuração de um contêiner Apache Docker usando imagens Docker. Você aprendeu como iniciar contêineres Apache usando arquivos Docker, com os quais pode editar e construir contêineres personalizados da sua escolha.

E agora, o que você vai construir na imagem do servidor Apache Docker?

Source:
https://adamtheautomator.com/apache-docker/