Como Configurar um Contêiner Docker Apache

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

Neste tutorial, você aprenderá como configurar um Contêiner Docker do 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 passo a passo, certifique-se de ter o seguinte e um sistema Ubuntu 14.04.4 LTS ou superior com Docker instalado neste tutorial. Este tutorial utiliza o 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 do 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 Docker do Apache é baixando uma imagem de contêiner existente do registro oficial do Docker, o Docker Hub. Neste exemplo, você estará baixando e executando um contêiner Docker chamado Apache.

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

Nota: Este tutorial não cobre os comandos do Docker em profundidade. 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. Este 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 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

Rodando o Container do Apache usando o Comando do Docker.

Na seção anterior, você baixou a imagem Docker do Docker Hub. Agora você 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. Chame o comando docker run para criar um novo contêiner com base na imagem Apache que você baixou.

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

O comando docker run então retornará o ID único do contêiner que você acabou de criar. Salve este ID do contêiner no quadro destacado abaixo para o futuro, caso deseje 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 você pode acessar a interface web do Apache navegando para Endereço-IP-Público:80 usando seu navegador. Se você conseguir ver a mesma mensagem, como mostrado abaixo, então você iniciou com sucesso seu contêiner Docker do Apache.

Assegure-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. Finalmente, pare o contêiner se você 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 o Contêiner Docker Apache a partir do Arquivo Docker

Na seção anterior, você aprendeu como lançar um contêiner Docker Apache executando a imagem Docker padrão httpd. 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 remover a etapa manual de criação de imagem quando você está testando a mesma configuração em um sistema operacional diferente. A abordagem de 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, depois mude (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, como 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 Dockerfile dentro do diretório ~/apache-server-docker-demo. Quando completo, o Docker utilizará 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 irão construir 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 as instruções subsequentes. No trecho de código abaixo, centos:7 é a imagem base.
  • COPY O comando COPY copia um arquivo da máquina hospedeira (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 o 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. Depois, 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 do 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 REPOSITORY é 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-criada executando o comando docker run.

A flag p publica a(s) porta(s) do contêiner no 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-criada
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 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 iniciou.

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 Docker do Apache usando imagens do Docker. Você aprendeu como lançar contêineres do Apache usando arquivos do Docker, com os quais pode editar e construir contêineres personalizados de sua escolha.

Então, o que você vai construir na imagem do servidor Apache Docker?

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