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>
за проверка (престана да работи за мен)