Instalação de servidores em Docker

Nesse artigo, vamos demonstrar como realizar a instalação de servidores em Docker. Portanto, realizaremos os passos práticos para que possamos instalar um servidor e acessar o servidor remotamente.

English version: click HERE

Além disso, nesse artigo estamos supondo que o leitor já tenha o conhecimento anterior de instalação e configuração do Docker.

Caso o leitor não tenha esse conhecimento, pode acessar os artigos do tutorial abaixo.

Iniciar um Container Docker

Para iniciar um container Docker, vamos usar o conhecimento aprendido antes no nosso tutorial. Portanto, vamos iniciar um container em background.

Criando o container Docker

Vamos utilizar o nome “meu_webserver” com nome do container Docker. Além disso, vamos criar o container com base em uma imagem Debian.

Para a criação do container Docker vamos usar o comando abaixo.

sudo docker run -td –name meu_webserver debian

-t” Indica que vamos alocar um pseudo TTY

-d” Indica que vamos executar o container Docker em background.

–name” Indica que vamos passar um nome para nosso container. Nesse caso, o nome de nosso container Docker será “meu_webserver”.

debian” Indica a imagem que usaremos no nosso container.

Container docker meu_webserver debian

Acessando o container Docker

Agora que criamos o container, vamos acessar esse container. Para isso, vamos usar o comando abaixo.

sudo docker exec -it meu_webserver bash

exec” Indica que faremos a execução de um container.

-t” Indica que vamos alocar um pseudo TTY.

-i” Indica que vamos usar interatividade com o container.

meu_webserver” Esse é o nome que demos ao container.

bash” Indica que vamos usar o shell.

exec docker container

Instalando servidor WEB no Docker

Agora vamos instalar o servidor Apache (apache2). Para isso, vamos fazer um update nos repositórios usando o comando abaixo.

apt-get update

update docker container

Em seguida, vamos instalar o apache e o net-tools com os comandos abaixo.

apt-get install apache2 net-tools

install apache in docker container

Estamos instalando o net-tools para poder verificar os parâmetros de rede com mais facilidade. Dessa forma, poderemos usar comandos como o ifconfig e o netstat.

Iniciando o Apache no Docker

Agora vamos usar o comando abaixo para inicializar o servidor Apache.

service apache2 start

start apache in docker container

Uma vez terminada a instalação, se desejar temos um post AQUI que detalhamos melhor o servidor Apache.

Agora, podemos verificar como está funcionando o apache em nosso container. Dessa forma, podemos usar o comando netstat para verificar se o apache está escutando na porta 80 TCP. Para isso, vamos usar o comando abaixo.

netstat -anlt | grep :80

list web port in docker container

Além disso, podemos verificar qual o IP da do container que instalamos o Apache usando o comando ifconfig. Para isso, vamos usar o comando abaixo.

ifconfig

list docker container IP

Acessando a página do Apache

Agora vamos ligar um navegador na máquina real e vamos digitar aquele IP do container que vimos no comando ifconfig.

Dessa forma, sabemos que nosso IP é o 172.17.0.2. Portanto, vamos digitar esse IP no navegador e dar enter.

apache web page

Podemos verificar que o servidor apache está funcionando corretamente.

Criando um container para acessar o Apache

Vamos criar um segundo container usando a imagem do alpine. Dessa forma, vamos demonstrar que podemos acessar o servidor apache usando outros containers docker.

Portanto, vamos usar o comando abaixo para inicializar um container docker com o nome de “cliente”.

sudo docker run -it –name cliente alpine

-t” Indica que vamos alocar um pseudo TTY.

-i” Indica que vamos usar interatividade com o container.

–name” Indica que vamos passar um nome para nosso container. Nesse caso, o nome de nosso container Docker será “cliente”.

cliente” Esse é o nome que demos ao container.

alpine” Indica a imagem que usaremos no nosso container.

create an alpine container

Acessando a página do servidor WEB

Agora, vamos acessar a página do servidor Apache usando o container cliente que recentemente criamos. Para isso, vamos usar o comando wget demonstrado abaixo.

wget 172.17.0.2

wget to apache web page

Criando uma imagem docker do servidor

Agora, vamos criar uma imagem do container do nosso servidor Apache. Dessa forma, sempre que tivermos a necessidade de usar o Apache no Docker, poderemos simplesmente levantar um container com essa imagem.

Para criar uma imagem de um container que está rodando, podemos usar o comando abaixo.

sudo docker commit meu_webserver debian_img

meu_webserver” É o nome do nosso container atual com o Apache instalado.

debian_img” É o nome da imagem que estamos criando com base no container “meu_webserver”.

Creating container image

Juliana Mascarenhas

Data Scientist and Master in Computer Modeling by LNCC.
Computer Engineer