Usando um banco de dados externo em Docker - Signer
O arquivo compose padrão do Signer inclui um serviço interno para o banco de dados (Microsoft SQL Server).
Em ambientes de produção, pode haver ressalvas quanto a executar o banco de dados em Docker. Se preferir, siga os passos deste artigo para usar um banco de dados externo.
Pare a stack:
Edite o arquivo compose do Docker:
Faça as seguintes alterações:
- Seção volumes: remova o item sql
- Seção services:
- Remova o serviço sql inteiro
- Serviço signer
- Na seção environment, adicione os seguintes itens:
- SQL_HOST: hostname do servidor de banco de dados
- SQL_PORT (opcional): porta do servidor de banco de dados (se omitida, a porta 1433 é usada)
- SQL_DATABASE: nome do banco de dados a ser usado
- SQL_USER: nome de usuário para autenticação no servidor de banco de dados
- Remova a seção depends_on
- Na seção environment, adicione os seguintes itens:
A senha deve ser adicionada como o secret signer_sql_password:
Faça o deploy da stack com as novas configurações:
Connection string personalizada
O método acima usa o host, o banco de dados, o usuário e o arquivo de senha informados para montar uma connection string no seguinte formato:
Data Source=HOST;Initial Catalog=DATABASE;User ID=USER;Password=PASSWORD
Em alguns cenários a connection string pode ser mais complexa, por exemplo se o banco de dados for espelhado. Nesses casos, siga os passos abaixo para usar uma connection string personalizada.
Edite o arquivo compose do Docker:
Faça as seguintes alterações:
- Seção volumes: remova o item sql
- Seção secrets: remova o item signer_sql_password
- Seção services:
- Remova o serviço sql inteiro
- Serviço signer
- Na seção secrets, remova o item signer_sql_password
- Na seção environment, remova todos os itens que começam com SQL_
- Remova a seção depends_on
Edite o arquivo de configuração do Signer:
Adicione ao arquivo a seção ConnectionStrings, com um único item chamado DefaultConnection: