контейнера ноды redis - получаю ответ от ip 192.168.0.3
в ноде пишу
const redis = require("redis");
const clientRedis = redis.createClient({
host: "redis",
port: 6379,
});
await clientRedis.connect();
При выполнении кода ошибка
GET command failed: connect ECONNREFUSED 127.0.0.1:6379
Почему идет на этот ип?🙀 Хотя контейнеры работают все в 1 сетке
если нода и редис в разных контейнерах, то надо использовать не 127.0.0.1 как адрес хоста, а адрес контейнера
ну или порты прокидывать наверх
я поэтому и использую строку ''redis' вместо 127.. из контенера ноды видно "redis"
а если попытаться через redis-cli из нодовского контейнера соединиться, то все окей?
исходя из текста ошибки, соединение все же пытается установить с 127.0.0.1. если исходить из этого, то соединяется все же неправильно. в идеале бы конфиг композа и докера посмотреть
version: "3.5" services: dublin: build: ./dublin/ restart: always depends_on: - postgres - redis ports: - 3000:3000 env_file: - ./dublin/.env networks: - webnet environment: - NODE_ENV=production - REDIS_HOST= redis volumes: - "./dublin/routes:/app/routes" redis: image: redis restart: always networks: - webnet volumes: - redis:/data postgres: image: "postgres" env_file: - database.env volumes: - database-data:/var/lib/postgresql/data/ - ./customPostgresql.conf:/etc/postgresql.conf restart: always networks: - webnet volumes: database-data: redis: networks: webnet:
можешь подсказать команду? 🙏🏼
apt install redis-server redis-cli -h redis
redis-cli: command not found
первая команда выполнена?
Обсуждают сегодня