Manual de Instalação por Docker
Sistema do Programa de Gestão/SUSEP - Instalação por Docker
Ubuntu 20.04.4 LTS
DOCKER ENGINE (configurar repositório)
- Atualizar o índice do pacote apt e permitir a adição de repositórios por HTTPS:
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
- Adicionar a chave GPG oficial do Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- Definir o repositório estável:
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
DOCKER ENGINE (instalação)
- Atualizar o índice do pacote apt e instalar a última versão do Docker Engine, containerd e Docker Compose*:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
- Verificar a correta instalação do Docker Engine ao executar a imagem hello-world:
sudo docker run hello-world
Este comando baixa uma imagem de teste e a executa num container. O container exibe uma mensagem e sai.
GERÊNCIA DO DOCKER SEM ROOT
- Criar um grupo docker e adicionar seu(s) usuário(s):
sudo groupadd docker
sudo usermod -aG docker $USER
- Relogar o usuário (ou reiniciar a máquina) ou usar o comando newgrp docker para validar as alterações.
newgrp docker
- Tentar executar comandos docker sem sudo.
docker run hello-world
DOCKER INICIANDO NO BOOT DO SISTEMA
- Configurar serviços para iniciar no boot por padrão:
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
DOCKER-COMPOSE (instalação alternativa)
- Como os repositórios já estão disponíveis por padrão no Ubuntu, só é necessário instalar:
sudo apt-get install docker-compose
- Verificar a versão instalada (por padrão é 1.25.0, build unknown). Para garantir a última versão, consultar o repositório (1.29.2) e usar o segundo comando para baixá-la e guardá-la em /usr/local/bin/ com o nome de docker-compose.
docker-compose --version
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- Dar permissão de execução ao arquivo:
sudo chmod +x /usr/local/bin/docker-compose
- Verificar novamente se é a última versão:
docker-compose --version
SUSEP - DOCKER
Versão 1.7.0
- Baixar o código da aplicação:
wget https://github.com/SrMouraSilva/Sistema_Programa_de_Gestao_Susep/archive/refs/heads/docker-codigo-fonte.zip
- Extrair (unzip) o código da aplicação e mover a pasta para /opt/susep/. Acessar a pasta da aplicação (/opt/susep/pasta_do_app).
- Subir a aplicação com o comando:
docker-compose -f docker/docker-compose.yml up -d
- Após a aplicação, subir o banco de dados com o comando:
docker-compose -f docker/docker-compose.sqlserver-homologacao.yml up -d
A aplicação deve estar disponível em http://localhost.
- Para verificar o status dos containers, usar o comando:
docker-compose -f docker/docker-compose.yml ps -a
- Após qualquer alteração nos arquivos de configuração (docker-compose.yml), reiniciar os containers.
docker-compose -f docker/docker-compose.yml down
e
docker-compose -f docker/docker-compose.yml up -d
TESTANDO AUTENTICAÇÃO NO BANCO
- Existem usuários de teste para validação da integração entre a aplicação e o banco de dados. Caso não seja possível se autenticar, houve falha no levantamento do container do banco de dados.
CONEXÃO COM SERVIDOR LDAP
- Editar o arquivo docker/docker-compose.yml nas linhas 61 a 77 de acordo com o servidor LDAP.
# LDAP
# -> URL do Servidor LDAP
- ldapOptions__Configurations__0__Url=ldap.orgao.edu.br
# -> Porta do Servidor LDAP
- ldapOptions__Configurations__0__Port=389
# -> DN do usuário de serviço que será utilizado para autenticar no LDAP"
- ldapOptions__Configurations__0__BindDN=CN=usuario,CN=Users,DC=orgao
# -> Senha do usuário de serviço que será utilizado para autenticar no LDAP
- ldapOptions__Configurations__0__BindPassword=
# -> DC que será utilizado para chegar à base de usuários no LDAP
- ldapOptions__Configurations__0__SearchBaseDC=CN=Users,DC=orgao
# -> Consulta a ser aplicada no LDAP para encontrar os usuários
- ldapOptions__Configurations__0__SearchFilter=(&(objectClass=user)(objectClass=person)(sAMAccountName={0}))
# -> Campo do LDAP em que será encontrado o CPF do usuário
- ldapOptions__Configurations__0__CpfAttributeFilter=
# -> Campo do LDAP em que será encontrado o e-mail do usuário
- ldapOptions__Configurations__0__EmailAttributeFilter=
- Para realizar o login pelo LDAP com sucesso, é necessário criar um usuário na tabela [dbo].[Pessoa] com CPF e email iguais aos do usuário do LDAP.
- Após criar o usuário espelhado no banco, caso haja falha no login, há algum erro na configuração do LDAP no arquivo docker-compose.yml.
Referências
- https://github.com/SrMouraSilva/Sistema_Programa_de_Gestao_Susep
- https://github.com/SrMouraSilva/Sistema_Programa_de_Gestao_Susep/tree/docker-codigo-fonte/docker
- https://github.com/spbgovbr/Sistema_Programa_de_Gestao_Susep
- https://docs.docker.com/engine/install/ubuntu/
- https://docs.docker.com/engine/install/linux-postinstall/
- https://linuxhostsupport.com/blog/how-to-install-and-configure-docker-compose-on-ubuntu-20-04/