DevSecOps

30 mai, 2019

Docker – Dica Rápida: criando uma instância do Redis via Docker Compose

100 visualizações
Publicidade

Solução NoSQL open source bastante popular para a implementação de cache distribuído em aplicações Web, o Redis permite o armazenamento em memória de dados organizados em chaves e valores.

Neste novo artigo demonstro como montar rapidamente uma instância do Redis a partir de containers Docker, fazendo uso para isto do Docker Compose e de um arquivo YAML com as configurações necessárias. Além disso, o exemplo aqui abordado mostrará como definir um password para o acesso ao Redis (uma prática muitas vezes ignorada quando da utilização do mesmo em conjunto com Docker).

A seguir temos o conteúdo do arquivo docker-compose.yml:

  • Foi utilizada a imagem oficial (redis). O download da mesma acontecerá automaticamente ao se executar o Docker Compose caso esta imagem não seja encontrada;
  • Em command a instrução redis-server –requirepass Redis2019! definirá um password de acesso ao Redis (no caso Redis2019!).

Nesta imagem, temos o resultado da execução do comando docker-compose up -d (com a instrução docker-compose ps exibindo na sequência o container ativo na porta 6379):

O item ConexaoRedis da listagem a seguir traz um exemplo de string de conexão ao Redis (incluindo password) para uma aplicação ASP.NET Core:

{
“ConnectionStrings”: {
“ConexaoRedis”: “localhost,port: 6379,password=Redis2019!”,
“BaseCotacoes”: “Data Source=localhost,31433;Initial Catalog=BaseCotacoes;User Id=sa;Password=SqlServer2017!;”
},
“Logging”: {
“LogLevel”: {
“Default”: “Warning”
}
},
“AllowedHosts”: “*”
}

Ferramentas como o utilitário FastoRedis podem ser empregadas no gerenciamento de uma instância do Redis. Nas próximas imagens podemos observar um exemplo de conexão ao container criado a partir desse aplicativo, bem como um item armazenado nesta mesma instância: