Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 错误:到0.0.0.0:6379的Redis连接失败-连接到0.0.0.0:6379_Docker_Redis_Docker Compose_Node Redis - Fatal编程技术网

Docker 错误:到0.0.0.0:6379的Redis连接失败-连接到0.0.0.0:6379

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和mongodb给出了同样的错误。我必须将我的redis连接到我的节点应用程序,我已尝试以下操作:

//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     |           ^