gpt4 book ai didi

docker - Redis 连接到 127.0.0.1 :6379 failed using Docker

转载 作者:可可西里 更新时间:2023-11-01 11:15:51 25 4
gpt4 key购买 nike

您好,我正在使用 docker compose 来处理我的所有配置。

我有 mongo、node、redis 和 elastic stack。

但是我无法让我的 redis 连接到我的节点应用程序。

这是我的docker-compose.yml

version: '2'
services:
mongo:
image: mongo:3.6
container_name: "backend-mongo"
ports:
- "27017:27017"
volumes:
- "./data/db:/data/db"
redis:
image: redis:4.0.7
ports:
- "6379:6379"
user: redis
adminmongo:
container_name: "backend-adminmongo"
image: "mrvautin/adminmongo"
ports:
- "1234:1234"
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.1.1
container_name: "backend-elastic"
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata1:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- esnet
web:
container_name: "backend-web"
build: .
ports:
- "8888:8888"
environment:
- MONGODB_URI=mongodb://mongo:27017/backend
restart: always
depends_on:
- mongo
- elasticsearch
- redis
volumes:
- .:/backend
- /backend/node_modules
volumes:
esdata1:
driver: local
networks:
esnet:

注意事项:

  • redis已经在运行了(我可以ping通redis)
  • 我的主机上没有仅通过容器运行的任何服务
  • 其他容器(redis除外)运行良好
  • 下面这个方法我试过了

const redisClient = redis.createClient({host: 'redis'});
const redisClient = redis.createClient(6379, '127.0.0.1');
const redisClient = redis.createClient(6379, 'redis');

我正在使用

  • docker 17.12
  • xubuntu 16.04

如何将我的应用程序连接到我的 redis 容器?

最佳答案

添加主机名:redis

在 redis 部分修复了这个问题。

所以它会是这样的,

redis:
image: redis:4.0.7
ports:
- "6379:6379"
command: ["redis-server", "--appendonly", "yes"]
hostname: redis

关于docker - Redis 连接到 127.0.0.1 :6379 failed using Docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48555513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com