Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

                                                                                                                                                                                                                                                                                    Escrito por: L. H.

...

Painel
borderColorgrey
borderStylesolid
Image Modified  

Instalar Docker e Docker Compose - Requisitos de

API's

APIs




Painel
borderColorgrey
titleColorWhite
borderWidth1px
titleBGColor#AB0047
titleObjetivo

O que é?

  • Lista dos requerimentos mínimos para utilização de APIs.
  • Não utilizamos Docker em ambiente Windows por questões de desempenho, escalabilidade, segurança. O Docker no Windows emula uma maquina Linux para servir o kernel, causando lentidão.
Painel
borderColorgrey
titleColorWhite
borderWidth1 px
titleBGColor#AB0047
titleOperacionalização
Expandir
titleComum aos ambientes

1- Ter um dos sistemas operacionais e versões abaixo para a utilização das APIs:

Ubuntu:

  • Focal 20.04 (LTS) ou superior;
  • Bionic 18.04(LTS) ou superior;
  • Xenial 16.04 (LTS) ou superior;

Debian:

  • Buster 10 (stable) ou superior;
  • Stretch 9 / Raspbian Stretch ou superior;

2- Ter acesso à base de dados Solus no servidor Oracle.


Expandir
titleAmbiente de testes

Para a utilização das APIs em ambiente de teste, se faz necessário ter as seguintes configurações mínimas de hardware.

  • Processador: Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz ou superior.
  • CPUs: mínimo 2 ativas.
  • Memória RAM: mínimo 8 GB.
  • Espaço em disco: mínimo 50 GB.
Expandir
titleAmbiente de produção

Para a utilização das APIs em abiente de produção, se faz necessário ter as seguintes configurações minimas de hardware.

  • Processador: Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz ou superior.
  • CPUs: mínimo 4 ativas.
  • Memória RAM: mínimo 16 GB.
  • Espaço em disco: mínimo 50 GB.
Expandir
titleInstalação Docker

Âncora
#Docker
#Docker

O docker é uma ferramenta para virtualizar aplicações no conceito de "containers" que contem todas as dependências necessárias para executar a aplicação. Utilizaremos o docker para rodar as APIs no servidor.

Para efetuarmos a instalação do docker, devemos seguir os passos abaixo.

  • Verificar qual a versão do Linux, com o comando: cat /etc/os-release   
  • Através do link abaixo, na opção Server, selecionar a versão do Linux e seguir os passos de instalação:

         https://docs.docker.com/engine/install/ 

  • No servidor, criar uma pasta chamada docker na raiz                                                                                                                                  

O Docker Compose é uma ferramenta para a criação e execução de múltiplos containers. Com o Compose, usamos um arquivo do tipo yaml para definir como será o ambiente da aplicação, através dele iniciamos os containers definidos.

  • Acessar o diretório 'docker' criado no passo anterior através do comando: 'cd /docker' e instalar o docker-compose através do link abaixo:

https://docs.docker.com/compose/install


Expandir
titleInstalação do NGINX

O Nginx será utilizado para obter as requisições e transmitir para a api, dessa forma podemos utilizar o protocolo SSL.

Para realizarmos a instalação do Nginx corretamente devemos seguir o passo a passo abaixo.

Dentro da pasta Docker raiz (/Docker), extrair o nginx.rarhttps://www.solus.inf.br/SolusUpdate/docker/nginx.rar

Assim ficará a estrutura da pasta.


Informações

O ip utilizado para configuração do nginx é interno, ou seja é o próprio ip do servidor. Apenas na configuração do server_name será utilizado o ip externo (DNS)

No arquivo default.conf(/nginx/config) alterar os ip’s para o ip do  do servidor e colocar em qual porta o nginx irá rodar, por padrão está na 8081. No server_name, colocar o dns ou ip externo.

No arquivo upstream.conf (/nginx/config) alterar o server para o ip do servidor linux.

Informações

O arquivo upstream.conf está pré configurado com as portas das api's, sendo necessário alterar apenas quando incluir uma nova api.


No arquivo docker-compose, informar as portas externa:interna  paras quais serão utilizadas. Pode -se manter as duas iguais 8081:8081


Dentro do diretório do nginx (/docker/nginx) executar o comando no para executar o arquivo docker-compose.yml: docker

 docker-compose up --build -d.

Assim irá iniciar o serviço do nginx

Image Added

Expandir
titleUtilizando SSL no NGINX

O certificado digital traz maior segurança para as transações, caso não tenham nenhum certificado digital, deve-se entrar em contato com alguma empresa que o forneça e realizar a aquisição, desta maneira será possível utilizar o protocolo SSL no NGINX e todas as transações serão realizadas com maior segurança.


Expandir
titleInstalar o certificado no servidor
.No

Para instalar o certificado acesse o diretório do nginx (docker/nginx) acessar a pasta certs. Dentro dela incluir os certificados.

Image Modified

Pode-se utilizar a porta padrão do ssl 443, se não estiver em uso. Caso esteja, liberar outra porta configurada para ssl. Aqui utilizaremos a 16010. No arquivo default.conf(nginx/config), na frente da porta 16010 colocar ssl, e  incluir o caminho do certificado. (Alterar o nome do certificado para o obtido).

 ssl

 ssl_certificate        /etc/nginx/certs/certificado.crt;
 ssl_certificate_key    /etc/nginx/certs/certificado.key;

Image Modified


No arquivo docker-compose (/nginx/docker-compose) incluir a porta 16010


Image Modified
Solus

volumes:

Bloco de código
- ./nginx.conf:/etc/nginx/nginx.conf - ./config:/etc/nginx/conf.d - ./logs:/var/log/nginx - ./certs:/etc/nginx/certs


Nginx rodando na porta 16010

Image Added


Expandir
titleAtualizar o certificado no servidor

Para atualizar o certificado, acesse o diretório do nginx (docker/nginx) > pasta certs > renomear o certificado antigo para "certificado_old.crt" e adicionar o certificado novo. 

Após adicionar o certificado novo na pasta, abra o prompt de comando (cmd) e execute o comando para reiniciar o nginx: "docker restart nginx"

Aviso
titleAtenção

Documentação elaborada com base na versão vigente do sistema.



Editado por: L. N
. 07/05/2021
.