Docker - Construindo um Arquivo Docker de Servidor Web
Já aprendemos como usar o Docker File para construir nossas próprias imagens personalizadas. Agora vamos ver como podemos construir uma imagem de servidor web que pode ser usada para construir contêineres.
Em nosso exemplo, usaremos o Apache Web Server no Ubuntu para construir nossa imagem. Vamos seguir as etapas fornecidas abaixo, para construir nosso arquivo Docker do servidor da web.
Step 1- A primeira etapa é construir nosso arquivo Docker. Vamos usarvim e crie um arquivo Docker com as seguintes informações.
FROM ubuntu
RUN apt-get update
RUN apt-get install –y apache2
RUN apt-get install –y apache2-utils
RUN apt-get clean
EXPOSE 80 CMD [“apache2ctl”, “-D”, “FOREGROUND”]
Os seguintes pontos precisam ser observados sobre as declarações acima -
Primeiro, estamos criando nossa imagem a partir da imagem base do Ubuntu.
A seguir, usaremos o comando RUN para atualizar todos os pacotes do sistema Ubuntu.
Em seguida, usamos o comando RUN para instalar o apache2 em nossa imagem.
Em seguida, usamos o comando RUN para instalar os pacotes do utilitário apache2 necessários em nossa imagem.
Em seguida, usamos o comando RUN para limpar todos os arquivos desnecessários do sistema.
O comando EXPOSE é usado para expor a porta 80 do Apache no contêiner para o host Docker.
Finalmente, o comando CMD é usado para executar o apache2 em segundo plano.

Agora que os detalhes do arquivo foram inseridos, apenas salve o arquivo.
Step 2 - Execute o Docker buildcomando para construir o arquivo Docker. Isso pode ser feito usando o seguinte comando -
sudo docker build –t=”mywebserver” .
Estamos marcando nossa imagem como mywebserver. Assim que a imagem for construída, você receberá uma mensagem de sucesso de que o arquivo foi criado.

Step 3- Agora que o arquivo do servidor da web foi criado, é hora de criar um contêiner a partir da imagem. Podemos fazer isso com o Dockerrun comando.
sudo docker run –d –p 80:80 mywebserver

Os seguintes pontos precisam ser observados sobre o comando acima -
O número da porta exposto pelo contêiner é 80. Portanto, com o –p , estamos mapeando o mesmo número de porta para o número de porta 80 em nosso host local.
o –dopção é usada para executar o contêiner no modo desanexado. Isso é para que o contêiner possa ser executado em segundo plano.
Se você for para a porta 80 do host Docker em seu navegador, verá que o Apache está instalado e funcionando.
