Criando um servidor Nginx+PHP+MySQL em segundos com Docker

Joao M
ByJG
Published in
2 min readJun 23, 2017

Hoje em dia montar um servidor LEMP (Nginx+PHP+MySQL) é relativamente simples. Se você estiver usando Debian/Ubuntu basta utilizar o comando:

sudo apt install mysql-server nginx php-fpm

e fazer algumas configurações e pronto: está funcionando.

Entretanto, para quem desenvolve e com frequencia tem que criar novos domínios esse processo começa a atrapalhar.

Mas se pensarmos em utilizar um container Docker que já tenha tudo pronto e associar com o projeto USDocker de forma a tornar esse container como um serviço fica bem mais fácil e rápida essa configuração.

Uma vez instalado o script do USDocker (aqui) na máquina rodamos os seguintes comandos:

usdocker mysql up
usdocker lemp up

Com isso, se abrirmos no browser a url “http://localhost/” já temos o servidor funcionando e vemos algo assim:

Servidor está no ar, mas o domínio não está configurado

Isso indica que o servidor subiu mas o domínio “localhost” não está configurado. Com o comando:

usdocker lemp domain-add localhost

Adicionamos o domínio “localhost” e já podemos começar a utilizar o servidor:

Domínio agora está configurado

Como visto na primeira foto, o sistema indica qual é o diretório físico do servidor. No meu caso está em “/home/jg/.usdocker_data/lemp/localhost”

Ao copiar os arquivos para essa pasta o sistema automaticamente irá passar a servi-los.

Customizando o serviço LEMP

É possível customizar o serviço alterando algumas variáveis de ambiente. Se rodarmos:

usdocker lemp env

poderemos ver as variáveis de ambiente:

LEMP_IMAGE=byjg/php7-fpm-nginx:alpine
LEMP_DATA_FOLDER=${USD_DATA}/${USD_SERVICE}
LEMP_PORT=80
LEMP_SSL_PORT=443

e com isso podemos configurar da seguinte forma:

usdocker lemp setup --set LEMP_PORT 8080
usdocker lemp restart

Agora o serviço encontra-se na porta 8080 e não mais na 80

--

--

Joao M
ByJG
Editor for

Engenheiro e arquiteto de Software desde 1987 mexendo com computadores :)