Skip to content

WalissonPires/docker-multiple-services

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Executar multiplos serviços web na mesma imagem docker

ATENÇÃO: Não é recomendado executar esse procedimento em produção.

Foi utilizado uma imagem do servidor web Nginx como base. O Nginx atua como proxy entre os serviços web.

Nesse exemplo foi criado duas aplicações nodejs que são executadas/gerenciadas atráves do PM2.

Portanto todas as requisição serão tratas pelo NGINX e passadas para o serviço solicitado.

Criar a imagem

docker build -t multiple-services:latest .

Executar o container

docker run -p 8080:80 multiple-services:latest
# Acesse os serviços em http://127.0.0.1:8080/service1 e http://127.0.0.1:8080/service2

Arquivos importantes

Segue uma breve explicação dos arquivos necessário para criação da imgem.

nginx.conf

O nginx.conf é o arquivo usado para configurar o Nginx. Nele é especificado a uri de cada serviço e qual porta em que o mesmo está ouvindo.

ecosystem.config.js

O ecosystem.config.js é o arquivo usado informar ao PM2 como e quais serviços ele deve executar/gerenciar.

Dockerfile

Para a construção da imagem foi usada como base a imagem no Nginx, que é a peça principal. A imagem é construida com os seguintes passos:

  • E feita a instalação de todos que é preciso para executar os serviços, como instalar o NodeJS e o PM2;
  • É feita a cópia do código fonte da aplicação;
  • É feita a cópia do arquivo de configuração do Nginx;
  • E por fim iniciamos o PM2, que irá iniciar os serviços, e o Nginx.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published