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!