Pesquisa de site

Como instalar o Apache em um contêiner Docker no Linux


Se você é um administrador de sistema Linux que fornece suporte para desenvolvedores, é provável que já tenha ouvido falar do Docker. Caso contrário, esta solução de software facilitará sua vida a partir de hoje, ajudando você a reduzir custos operacionais e acelerar implantações – entre outros benefícios.

Mas não é mágica. O Docker como plataforma aproveita contêineres – pacotes de um aplicativo junto com todas as ferramentas necessárias para executar para eliminar diferenças entre ambientes.

Em outras palavras, o software em contêineres funcionará e poderá ser gerenciado de forma consistente, independentemente de onde estiver instalado. Além disso, os contêineres são muito mais fáceis de configurar, iniciar, parar e manter do que as boas e antigas máquinas virtuais.

Se você estiver interessado em saber mais sobre as diferenças entre essas duas tecnologias, o site oficial do Docker oferece uma ótima explicação.

Para ilustrar, neste artigo explicaremos como instalar o Docker no CentOS/RHEL, Rocky/Alma Linux e Debian/ Ubuntu e crie um contêiner Apache 2.4 no Docker Hub.

Em seguida, iremos usá-lo para servir uma página web simples a partir de nosso diretório inicial – tudo sem a necessidade de instalar um servidor web em nosso host.

Instalando Docker no Linux

Para começar, vamos instalar o Docker usando o seguinte comando curl. Isso fará o download e executará um script de shell que adicionará o repositório Docker ao nosso sistema e instalará o pacote.

curl -fsSL https://get.docker.com | sh

Em seguida, use o comando systemctl para iniciar o serviço Docker principal, habilitá-lo para iniciar durante as reinicializações e verificar seu status.

systemctl start docker
systemctl enable docker
systemctl status docker

Neste ponto, podemos simplesmente executar.

docker

para ver a lista de comandos disponíveis ou para obter ajuda.

docker COMMAND --help
docker ps --help

nos dirá como listar os contêineres presentes em nosso sistema, enquanto

docker run --help

imprimirá todas as opções que podemos usar para manipular um contêiner.

Configurando um contêiner Apache

Uma das coisas incríveis sobre o ecossistema Docker é que existem dezenas de contêineres padrão que você pode baixar e usar facilmente.

No exemplo a seguir, instanciaremos um contêiner Apache 2.4 chamado tecmint-web, desanexado do terminal atual. Usaremos uma imagem chamada httpd:2.4 do Docker Hub.

Nosso plano é fazer com que as solicitações feitas ao nosso endereço IP público na porta 8080 sejam redirecionadas para a porta 80 no contêiner. Além disso, em vez de servir conteúdo do próprio contêiner, serviremos uma página web simples de /home/user/website.

Fazemos isso mapeando /home/user/website/ em /usr/local/apache2/htdocs/ no contêiner. Observe que você precisará usar sudo ou fazer login como root para prosseguir e não omita as barras no final de cada diretório.

sudo docker run -dit --name tecmint-web -p 8080:80 -v /home/user/website/:/usr/local/apache2/htdocs/ httpd:2.4

Neste ponto, nosso contêiner Apache deve estar instalado e funcionando.

sudo docker ps

Agora vamos criar uma página web simples chamada docker.html dentro do diretório /home/user/website.

vi /home/user/website/docker.html

Adicione o seguinte conteúdo HTML de amostra ao arquivo.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Learn Docker at linux-console.net</title>
</head>
<body>
    <h1>Learn Docker With Us</h1>   
</body>
</html>

Em seguida, aponte seu navegador para Server-IP:8080/docker.html (onde Server-IP é o endereço IP público do seu host). Você deverá ver a página que criamos anteriormente.

Se desejar, agora você pode parar o contêiner.

sudo docker stop tecmint-web

e remova-o:

sudo docker rm tecmint-web

Para terminar a limpeza, você pode excluir a imagem que foi usada no contêiner (omita esta etapa se estiver planejando criar outros contêineres Apache 2.4 em breve).

sudo docker image remove httpd:2.4

Observe que em todas as etapas acima nunca tivemos que instalar o servidor web em nosso host.

Resumo

Neste artigo, explicamos como instalar o Docker e manipular um contêiner. Infelizmente, isso é apenas o básico: existem cursos completos, livros e exames de certificação que abordam Dockers (e contêineres em geral) de forma mais aprofundada.

Se você quiser saber mais sobre o Docker, já cobrimos uma série de três artigos que explica como instalar o Docker, executar aplicativos em contêineres e criar automaticamente imagens do Docker com o dockerfile.

  • Instale o Docker e aprenda a manipulação básica de contêineres no CentOS e RHEL
  • Como implantar e executar aplicativos em contêineres Docker no CentOS/RHEL
  • Crie e configure automaticamente imagens Docker com Dockerfile no CentOS/RHEL
  • Como remover imagens, contêineres e volumes do Docker

Considere isso como seu ponto de partida e informe-nos se tiver alguma dúvida ou comentário – estamos ansiosos para ouvir sua opinião!