Tutorial: Como executar o Apache num container Docker
Quem é administrador de sistemas certamente já ouviu falar na tecnologia de containers, como por exemplo o Docker. Esta tecnologia tem como principais características e benefícios, a rápida implementação de projetos e também os custos que são inferiores comparativamente a outras tecnologias.
Depois de termos apresentado aqui o Docker, hoje vamos aprender como podem executar o Apache num container Docker.
Para quem não conhece, o Docker é uma plataforma Open Source de desenvolvimento, provisionamento e execução de aplicações que tem como base a linguagem de programação em Go da Google. Esta plataforma tem como principal objetivo facilitar a criação e gestão de ambientes isolados com recurso à tecnologia de containers - saber mais aqui.
Instalar o Docker no Ubuntu
A instalação do Docker no Ubuntu ou outra distribuição Linux é algo relativamente simples. Para tal abram o terminal e insiram o seguinte comando:
curl -fsSL https://get.docker.com | sh |
Depois de instalado devem executar o docker usando o comando:
systemctl start docker |
Como criar um container Docker do Apache
Antes de avançarem não se esqueçam de ter o Apache instalado no Ubuntu - ver aqui. Em seguida vamos criar o ficheiro /home/<user>/site/index.html. Para este tutorial inserimos a seguinte linha que apresentamos na imagem seguinte. Gravem o ficheiro e fechem o editor.
Vamos agora então criar o container Docker do Apache. Para tal vamos:
- criar uma instancia do Apache com o nome pplware
- Indicar que essa instância está à escuta no porto 8080 e que redireciona depois para porto 80
- Que o noss site está em /home/<user>/site/
- O nosso site será mapeado para /usr/local/apache2/htdocs/
sudo docker run --name pplware -p 8080:80 -v /home/<user>/site/:/usr/local/apache2/htdocs/ httpd
Depois de criado o container podem verificar se o mesmo está em execução usando o comando sudo docker ps -a
Para verificar se tudo está a funcionar, abram o browser de uma máquina na rede e introduzam o endereço do servidor seguido do porto 8080.
Fácil não é? Num próximo tutorial iremos ensinar mais algumas dicas desta fantástica e popular tecnologia. Estejam atentos! Em caso de sugestões ou dúvidas, partilhem as mesmas nos comentários.
Leia também...
Este artigo tem mais de um ano
Para aqueles que não conhecem tão bem, o Apache a que o Pedro se refere parece ser o “Apache HTTP Server”. Fica o esclarecimento apenas porque a Apache é uma fundação com variadíssimos projetos, talvez o mais conhecido seja este e por isso muitas vezes referido apenas por Apache.
Boa, tem la o link logo a seguir.
PP
Muito bom esse artigo. Poderiam também fazer um mais técnico? Ensinando por exemplo a montar o container com a dockerfile?
Obrigado!
Qual é o objectivo de ter o Apache instalado na maquina local se é para usar Docker?
É uma pergunta interessante, pois, supostamente o docker serviria «para isolar a coisa» do sistema nativo, correcto?
E não precisas o container arranja sem problemas sem ter o apache instalado na maquina
Assim sendo, vou «dar uma voltinha» com o Docker, thanks 😀
não percebi porque o apache tem que estar instalado, visto que posso ter um contentor exactamente com o apache ou nginx, estou errado?
Penso eu que umas das grandes vantagens é levantar um sistema já todo configurado com apenas uma linha de comandos, incluindo um apache caso necessário.
É possível utilizar o Docker como ambiente de build também? Eu sempre vejo ele sendo usado apenas como ambiente de deploy.
Parabéns pelo post!
Isso na vida real tem utilidade ? Algum empresa utiliza essa coisa do docker em produção ? Isso parece-me que é mais uma camada de software que só serve pra gastar recursos e nenhum valor acrescenta.
O docker é utilizado em empresas ,e quando a empresa decide que quer mudar para uma arquitectura de micro serviços, docker é a opção mais comum para ser usada para implementar os micro serviços
Na vida real usas EngineX (carinhosamente apelidado de nginx).
“só serve pra gastar recursos e nenhum valor acrescenta.”:
=> uma frase escandalosa e herética de quem não tem contexto suficiente para produzir uma opinião minimamente fundamentada.
docker rm –force “Joao Silva”
Abraço do Linuxo Rei.