Docker é uma plataforma para desenvolvimento, provisionamento e execução de aplicações usando tecnologia de containers. Esta plataforma oferece um conjunto de poderosas ferramentas que aprimoram a forma de criar e administrar aplicações entre ambientes diferentes. Além disso, garante isolamento de recursos para que o administrador possa disponibilizar uma aplicação segura. Sendo assim, de maneira eficiente, saiba como configurar um ambiente de desenvolvimento Web Apache completo e seguro com Docker.
Contextualizando
Corriqueiramente, configurações de ambientes para sistemas web são encontradas em tutoriais na internet. Por exemplo, se deseja configurar um servidor Web Apache com suporte ao PHP, você precisa instalar: o apache, a extensão PHP, habilitar módulos e configurar Virtual Host’s (VHosts) para disponibilizar múltiplos sites numa única instalação do Apache; por exemplo.
Com a “revolução” da cultura DevOps – movimento que promove um conjunto de processos e métodos para pensar sobre comunicação e colaboração entre os desenvolvedores de software e administradores de sistemas computacionais – o surgimento de ferramentas que pretendem agilizar essas operações surgem a cada dia. Entre elas, surgiu a Docker – plataforma multiplataforma de código aberto que automatiza a implantação de serviços, fornecendo uma camada de abstração a nível sistema de nível operacional e isolando-os em containers. Disponibilizada pela primeira vez em 2013, de lá pra cá o Docker vem numa crescente enorme! Principalmente, porque proporciona agilidade na entrega dos serviços.
A “fórmula” criada é simples… Evita que você tenha retrabalho na disponibilização dos serviços. Imagine se você precisar configurar 2 ambientes web Apache em máquinas distintas, quais serão os passos necessários para configurá-los?! Simples… os mesmos do primeiro ambiente 🙂 Agora, multiplica por 10 ou mais vezes. Então, por quê configurar o ambiente web Apache 10 vezes se deve sempre ser configurado, na maioria das vezes, do mesmo jeito?!
Assim, um container Docker pode executar tanto num cluster de alto processamento quanto num hardware de baixo processamento. Isto é possível, pois a plataforma Docker possibilita o empacotamento de uma aplicação inteira em imagens, tornando-as portáveis para qualquer outro computador/servidor que contenha o Docker instalado. Isso gera a agilidade e padronização na entrega dos serviços. E, principalmente, evita o retrabalho (“reinventar a roda”). Com o Docker você se preocupa apenas com as peculiaridades da sua aplicação/ambiente/ferramenta. No caso do ambiente Web Apache, somente com os arquivos do site ou aplicação que rodará nele 🙂
Sendo assim, saiba que se você é um profissional e/ou estudante de cursos de Tecnologia da Informação você poderá ter diversas vantagens usando a plataforma Docker. Por exemplo:
– Desenvolve uma vez…executa em qualquer lugar;
– Sem preocupações (dependências e/ou pacotes)… foco no desenvolvimento;
– Diversos ambientes para testes;
– Evita o “localhost funciona”;
– Configura uma vez… executa em qualquer lugar;
– Elimina inconsistências na entrega das aplicações e/ou serviços;
– Ciclo de trabalho mais eficiente e ágil;
– Promove uma infraestrutura escalável;
Curso Docker – Introdução a administração de containers
AppImage – ferramenta que permite executar aplicações Linux independente da distribuição usada
E caso não seja nenhum profissional da área, mas é um usuário entusista do Linux, saiba que o Docker também tem algumas vantagens para você:
– Tudo que é executado por linha de comando, poderá ser executado num container Docker;
– Instala softwares em um ambiente isolado;
– Executa uma ferramenta sem precisar instalar nenhum pacote/dependência no seu sistema. Por exemplo, o FFmpeg… quando não estiver mais precisando, poderá excluí-la facilmente;
– Evita conflito de múltiplas dependências de pacotes;
Configurar um ambiente Web Apache completo
Primeiramente, instale o Docker no seu sistema (Linux, Windows ou MacOS) seguindo a documentação oficial.
Depois de instalado e configurado, simplesmente execute esse comando para ter um Ambiente Web Apache completo com Docker:
Onde,
– /home/usuario/site é uma pasta (site) na home do seu usuário que deve conter todos os arquivos do seu site/aplicação. Para ter efeito, crie um arquivo index.php nessa pasta com o conteúdo HTML/PHP que desejar;
– php:5.6-apache é a imagem do PHP, versão 5.6, com o servidor web Apache 2. Essa imagem contém as configurações necessárias para configurar o ambiente de desenvolvimento Web. Ela que “evita” o retrabalho 🙂
Por fim, aguarde o processo de download da imagem e, posteriormente, acesse o navegador web com URL http://localhost para acessar seu site/aplicação 🙂
Considerações
Se seguiu todos os passos, viu os benefícios e ganho de tempo para disponibilizar um ambiente Web Apache completo. Simplesmente, você aumentou a qualidade na entrega dos serviços. Passou a não se preocupar como deve configurar o serviço, mas focar no desenvolvimento da aplicação. Pois, neste exemplo, basta manipular os arquivos HTML/PHP na pasta /home/usuario/site (ou outra pasta que preferir) que verá que o resultado será mostrado no browser 🙂
Então, se considera relevante essa experiência, lhe convido a conhecer o Curso Docker – Introdução a administração de containers – curso introdutório da plataforma Docker que lhe dará melhor compreensão sobre as vantagens da ferramenta. Esse curso foi criado por mim e disponibilizado na plataforma Udemy. Confira AQUI mais informações 🙂