Skip to content

Roteiro de Instalação do SAPL 3.1 Utilizando Docker

LeandroJataí edited this page Feb 15, 2023 · 3 revisions

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.yaml

  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
  1. 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
    9b66944f5a4f   interlegis/sapl:3.1.161-RC20   "/var/interlegis/sap…"   10 minutes ago   Up 10 minutes   0.0.0.0:80->80/tcp, 443/tcp   sapl
    046abc2ea8df   postgres:10.5-alpine           "docker-entrypoint.s…"   10 minutes ago   Up 10 minutes   0.0.0.0:5433->5432/tcp        postgres
    5c79c6343dc3   solr:8.3                       "docker-entrypoint.s…"   10 minutes ago   Up 10 minutes   0.0.0.0:8983->8983/tcp        solr
  2. 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.

  1. Environment

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

  1. 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.

  1. 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.

  1. 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.