TL;DR Вашият redis не е защитен
АКТУАЛИЗИРАНЕ: Използвайте expose вместо ports така че услугата е достъпна само за свързани услуги
Излагайте портове, без да ги публикувате на хост машината - те ще бъдат достъпни само за свързани услуги. Може да се посочи само вътрешният порт.
expose - 6379
ОРИГИНАЛЕН ОТГОВОР:
дълъг отговор:
Това вероятно се дължи на незащитен redis-server екземпляр. Изображението на redis по подразбиране в докер контейнер не е защитено.
Успях да се свържа с redis на моя уеб сървър, използвайки само redis-cli -h <my-server-ip>
За да разбера това, прегледах тази статия в DigitalOcean и много други и успях да затворя порта.
- Можете да изберете redis.conf по подразбиране от тук
- След това актуализирайте своя docker-compose
redisраздел към (съответно актуализирайте пътеките на файловете)
redis:
restart: unless-stopped
image: redis:6.0-alpine
command: redis-server /usr/local/etc/redis/redis.conf
env_file:
- app/.env
volumes:
- redis:/data
- ./app/conf/redis.conf:/usr/local/etc/redis/redis.conf
ports:
- "6379:6379"
пътя към redis.conf в command и volumes трябва да съвпада
- възстановете redis или всички услуги според изискванията
- опитайте да използвате
redis-cli -h <my-server-ip>за проверка (престана да работи за мен)