Roteiro de instalação do SAPL 3.1 utilizando docker

Instalação via Docker (qualquer sistema Operacional)

Você pode utilizar nossas imagens Docker para instalar o SAPL 3.1, em qualquer sistema operacional em que o Docker (Community Edition) é suportado. Veja mais informações em https://www.docker.com/community-edition.

Repositório da imagem: https://github.com/interlegis/sapl

No docker hub: https://hub.docker.com/r/interlegis/sapl

Roteiro

Atenção!

Antes de iniciar o processo de instalação via Docker tenha certeza de que:

  • A arquitetura do do linux do host (servidor/pc/vm/host) onde será instalado é de 64 bits;
  • Que a versão do kernel do linux do host é igual ou superior a 3.10;
  • Que a porta 80 não esteja sendo utilizada por outra aplicação/serviço;
  • Que a porta 5432 não esteja sendo utilizada por outra aplicação/serviço.

1) Instalação do Docker

1.1) No terminal digite o comando abaixo para se tornar usuário root:

 sudo -s

 

1.2) Para instalar o Docker em sua máquina, rode o comando:

curl -ssl https://get.docker.com | sh

1.3) Verifique se o Docker foi devidamente instalado, digitando o seguinte domando no terminal.

 docker ps

O retorno do comando acima, caso o Docker esteja devidamente instalado será algo como:

CONTAINER ID        IMAGE               COMMAND             CREATED         STATUS              PORTS               NAMES

2) Instalação do Docker compose:

2.1) Ainda no terminal e continuando como usuário root, execute o comando abaixo para instalar o Docker Compose em sua máquina:

 curl -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

2.2) Ainda no terminal e continuando como usuário root, digite o comando abaixo para dar permissão de execução ao Docker Compose:

 chmod +x /usr/local/bin/docker-compose

3) Salve o docker-compose.yml

3.1) Ainda no terminal e continuando como usuário root, digite o comando abaixo e crie uma pasta para armazenar o arquivo docker-compose.yml?

 mkdir sapl31

3.2) Ainda no terminal e continuando como usuário root, e utilizando seu editor favorito (Vi, vim , nano, emacs, etc), copie e cole o conteúdo abaixo do link abaixo e o salve com o nome docker-compose.yml dentro da pasta sapl31, que foi criada anteriormente.

https://raw.githubusercontent.com/interlegis/sapl/3.1.x/docker/docker-compose.yml

4) Ainda no terminal e continuando como usuário root, entre na pasta onde se encontra o arquivo que foi salvo acima, digitando o comando abaixo:

$ cd sapl31

5) Rode o Docker compose:

5.1) Ainda no terminal e continuando como usuário root, rode o comando abaixo:

$ docker-compose up -d

5.2) Verifique se o Docker foi devidamente instalado, digitando o seguinte domando no terminal:

 docker ps

O retorno do comando acima, caso o Docker esteja devidamente instalado será algo como:

CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                    NAMES
a7a3aa1fe6a9        interlegis/sapl:3.1.10-BETA   "/var/interlegis/s..."   2 days ago          Up 2 minutes        0.0.0.0:80->80/tcp       sapl31_sapl_1
900730bfde9e        postgres                      "docker-entrypoint..."   2 days ago          Up 2 minutes        0.0.0.0:5532->5432/tcp   sapl31_sapldb_1

6) Caso necessário, veja os logs.

Caso precise ver o que está acontecendo, rode o comando abaixo:

$ docker-compose logs -f

Explicação do arquivo docker-compose.yml.

Parâmetros utilizados:

1) Image

Este parâmetro indica ao Docker qual imagem deve ser utilizada para rodar o serviço.

2) Environment

Neste parâmetro é que fica declarado as variáveis de ambiente necessárias para que o container possa rodar.

3) Volumes

Este parâmetro cria uma cópia dos diretórios listados antes dos dois pontos (:) para um diretório na sua máquina (o listado depois dos dois pontos).

Obs: os volumes são necessários para que, caso o container seja destruído, não se percam os dados armazenados.

4) Ports

Este parâmetro indica a porta em que o serviço irá rodar:

Antes dos dois pontos(:), temos a porta que será utilizada no host.

Depois dos dois pontos (:), temos a porta que será utilizada na rede interna do Docker.

Dica: caso a porta "80" já esteja sendo utilizada no seu host, você irá modificar a opção antes dos dois pontos (:) para utilizar outra porta.

5) Services

Tem-se dois serviços rodando com este docker-compose: uma imagem do postgres funcionando como banco de dados do SAPL e uma imagem do SAPL que é a própria aplicação.