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.
A captura de tela abaixo mostra o resultado esperado ao puxar a imagem do 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.
Como você pode ver abaixo, agora você tem uma imagem do Docker, que é a imagem que você baixou do Docker Hub.

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.
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.

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.

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.
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.
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.
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 naPorta 80
.
4. Em seguida, verifique todos os arquivos necessários abaixo na pasta executando o comando tree
.

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.

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.

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.
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.

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?