Redis
 sql >> база данни >  >> NoSQL >> Redis

Достъп до redis локално в docker - docker compose

Използването на localhost в контейнер за докер е невалидно, тъй като localhost означава за контейнер неговия собствен контейнер, така че ако стартирате redis-cli от уеб контейнера, redis-cli се опитва да намери redis в уеб контейнера вместо контейнера redis.

Трябва да посочите име на услугата на redis - docker (мрежата на docker-compose, за да бъде по-конкретна) ще разреши за вас името на услугата до IP на контейнера на redis, така че трябва да използвате:

redis-cli -h redis ping

очакваният изход е:

PONG

Редактиране:

Този отговор ще работи само ако и двете услуги използват един и същ мрежов режим, така че има 2 начина:

  1. Добавете network_mode:host към уеб услуга и след това „localhost“ за redis ще бъде добре
  2. Премахнете network_mode:host от redis и след това домейнът „redis“ ще бъде добре



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Не може да се свърже Redis Cluster в Elasticache към PHP с помощта на библиотека phpredis

  2. Неуспешно стартиране на redis.service:Unit redis-server.service е маскиран

  3. Кога да изключите Transparent Huge Pages за redis

  4. Redis клъстер/балансиране на натоварването

  5. Как да активирате разпределен/клъстерен кеш, когато използвате redis с пружинен кеш за данни