我想在 docker 中将 Redis 与我的快速服务器一起使用。我正在使用 docker-compose 通过 Redis 构建我的应用程序。这是我的 Dockerfile
代码FROM node:12-alpine
WORKDIR '/var/www/app'
这是 docker-compose.yml 文件的代码:
redis:
image: redis
container_name: cache
expose:
- 6379
app:
build: ./
volumes:
- ./:/var/www/app
links:
- redis
ports:
- 7000:7000
environment:
- REDIS_URL = redis
- NODE_ENV=development
- PORT=7000
command:
sh -c 'npm i && node server.js'
即使我在 docker-compose.yml 文件中公开端口 6379,我也无法调试为什么它拒绝连接。 这是我的 server.js 文件代码
const express = require("express");
const app = express();
const redis =require("redis")
let client=redis.createClient(process.env.REDIS_URL)
client.on('connect',()=>{
console.log("redis connected")
});
client.on("error", function (err) {
console.log("Error " + err);
});
var port = process.env.PORT || 7000;
app.listen(port, () => {
console.log(`Server is listening in port: ${port}`);
});
我已使用以下命令构建应用。
sudo docker-compose up --build
任何指导都会有所帮助。谢谢
最佳答案
它已经解决了,只需删除中间的空格并将环境后的第一行更改为 REDIS_URL=redis://cache 感谢@ozlevka
关于node.js - Docker Nodejs Redis 连接到 127.0.0.1 :6379 failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66849234/