Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

173
Visualizações
Redis container doesn't connect with expressJs application

I wanna connect my simple expressJs application with a Redis container. But it's not connecting with redis container. Here I've used redis:alpine image to build the container.

kasun@Kasuns-MacBook-Air ~ % docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
redis        alpine    9dcd83a87127   3 weeks ago   36.5MB
alpine       latest    3fb3c9af89a9   7 weeks ago   5.32MB
kasun@Kasuns-MacBook-Air ~ % 

I've run a container like this way and bounded the port 3307 of the local machine

kasun@Kasuns-MacBook-Air ~ % docker run -dt --name redis_cache -p3307:6379 9dcd83a87127
8f44169e8c73938845319463c83f63048c5051bcbbfca7809a1300446b415ae3
kasun@Kasuns-MacBook-Air ~ % 

It shows the container running like this

kasun@Kasuns-MacBook-Air ~ % docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                    NAMES
8f44169e8c73   9dcd83a87127   "docker-entrypoint.s…"   56 seconds ago   Up 55 seconds   0.0.0.0:3307->6379/tcp   redis_cache
kasun@Kasuns-MacBook-Air ~ % 

expressJs code (server.js file)

const express = require('express');
const app = express();
const redis = require('redis');

const redisClient = redis.createClient(3307, '0.0.0.0');

redisClient.on('connect', () => {
    console.log("Redis connected");
})

redisClient.on('error', () => {
    console.log("Error");
})

app.listen(8080, () => {
    console.log('listening on port 8080');
})

But when I start express application, it does not connect with the Redis container.

kasun@Kasuns-MacBook-Air test % npm run test

> test@1.0.0 test
> nodemon server.js

[nodemon] 2.0.16
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node server.js`
listening on port 8080

How can I solve this problem?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

this code is worked with me, you can try this

const express = require('express');
const app = express();
const redis = require('redis');

const redisClient = redis.createClient({
    url: 'redis://127.0.0.1:3307'
});

 const redisConnect = async () => {
     try {
         await redisClient.connect()
        console.log('Redis Connected');
     } catch (error) {
         console.log(error)
     }
}

redisConnect()

app.listen(8080, () => {
    console.log('listening on port 8080');
})
over 4 years ago · Santiago Trujillo Relatório

0

Change 0.0.0.0 to localhost or 127.0.0.1

try this way

const redisClient = redis.createClient(3307, 'localhost');
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda