Docker 错误:到0.0.0.0:6379的Redis连接失败-连接到0.0.0.0:6379
我一直在尝试构建经典的投票应用程序。但我的redis和mongodb给出了同样的错误。我必须将我的redis连接到我的节点应用程序,我已尝试以下操作:Docker 错误:到0.0.0.0:6379的Redis连接失败-连接到0.0.0.0:6379,docker,redis,docker-compose,node-redis,Docker,Redis,Docker Compose,Node Redis,我一直在尝试构建经典的投票应用程序。但我的redis和mongodb给出了同样的错误。我必须将我的redis连接到我的节点应用程序,我已尝试以下操作: //redis const redisoption = { host: "redis", port: 6379 }; docker-compose.yml version: "3" 服务: vote: image: adityagaddhyan/voting-app p
//redis
const redisoption = {
host: "redis",
port: 6379
};
docker-compose.yml
version: "3"
服务:
vote:
image: adityagaddhyan/voting-app
ports:
- "3000:3000"
depends_on:
- redis
networks:
- front-end
- back-end
volumes:
- ./vote:/app
result:
image: adityagaddhyan/voting-result
ports:
- "3011:3011"
depends_on:
- mongodb
networks:
- back-end
- front-end
volumes:
- ./result:/app
worker:
image: adityagaddhyan/service-worker
depends_on:
- redis
- mongodb
networks:
- back-end
volumes:
- ./worker:/app
redis:
image : redis
command: ["redis-server", "--bind", "0.0.0.0", "--port", "6379"
ports:
- "6379:6379"
networks:
- back-end
volumes:
- ./redis:/app
mongodb:
image: mongo
ports:
- "27017:27017"
volumes:
- ./db:/app
卷数:
数据库数据:
网络:
前端:
后端:
我试过各种组合。
我主要有两种错误。
如果我使用主机:“0.0.0.0”,我得到
Error: Redis connection to 0.0.0.0:6379 failed - connect ECONNREFUSED 0.0.0.0:6379
vote_1 | at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16)
vote_1 | Emitted 'error' event on RedisClient instance at:
vote_1 | at RedisClient.on_error (/usr/src/app/node_modules/redis/index.js:341:14)
vote_1 | at Socket.<anonymous> (/usr/src/app/node_modules/redis/index.js:222:14)
vote_1 | at Socket.emit (events.js:315:20)
vote_1 | at emitErrorNT (internal/streams/destroy.js:92:8)
vote_1 | at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
vote_1 | at processTicksAndRejections (internal/process/task_queues.js:84:21) {
vote_1 | errno: 'ECONNREFUSED',
vote_1 | code: 'ECONNREFUSED',
vote_1 | syscall: 'connect',
vote_1 | address: '0.0.0.0',
vote_1 | port: 6379
vote_1 | }
我是docker的新手,无法解决这个问题。请提供帮助。主机名
redis
应解析为容器的Docker内部地址,该地址不应为127.0.0.1。您得到的错误来自一个单独的工作者
容器;你能显示它的配置吗?(redis
应该可以工作,0.0.0.0在这里没有意义。)“redis”解析为127.0.0.1的部分让我觉得你的docker网络有些奇怪。“后端”和“前端”的设置如何?事实上,我在投票1中也遇到了错误。。同样的错误。在这里检查src代码
Error: Redis connection to 0.0.0.0:6379 failed - connect ECONNREFUSED 0.0.0.0:6379
vote_1 | at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16)
vote_1 | Emitted 'error' event on RedisClient instance at:
vote_1 | at RedisClient.on_error (/usr/src/app/node_modules/redis/index.js:341:14)
vote_1 | at Socket.<anonymous> (/usr/src/app/node_modules/redis/index.js:222:14)
vote_1 | at Socket.emit (events.js:315:20)
vote_1 | at emitErrorNT (internal/streams/destroy.js:92:8)
vote_1 | at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
vote_1 | at processTicksAndRejections (internal/process/task_queues.js:84:21) {
vote_1 | errno: 'ECONNREFUSED',
vote_1 | code: 'ECONNREFUSED',
vote_1 | syscall: 'connect',
vote_1 | address: '0.0.0.0',
vote_1 | port: 6379
vote_1 | }
Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
worker_1 | at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16)
worker_1 | Emitted 'error' event on RedisClient instance at:
worker_1 | at RedisClient.on_error (/usr/src/app2/node_modules/redis/index.js:341:14)
worker_1 | at Socket.<anonymous> (/usr/src/app2/node_modules/redis/index.js:222:14)
worker_1 | at Socket.emit (events.js:315:20)
worker_1 | at emitErrorNT (internal/streams/destroy.js:92:8)
worker_1 | at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
worker_1 | at processTicksAndRejections (internal/process/task_queues.js:84:21) {
worker_1 | errno: 'ECONNREFUSED',
worker_1 | code: 'ECONNREFUSED',
worker_1 | syscall: 'connect',
worker_1 | address: '127.0.0.1',
worker_1 | port: 6379
worker_1 | }
vote_1 | /usr/src/app/app.js:28
vote_1 | host: back-end,
vote_1 | ^