TL;DR Twój redis nie jest bezpieczny
AKTUALIZACJA: Użyj ekspozycji zamiast ports
więc usługa jest dostępna tylko dla powiązanych usług
Udostępniaj porty bez publikowania ich na maszynie hosta — będą dostępne tylko dla połączonych usług. Można określić tylko port wewnętrzny.
expose
- 6379
PIERWOTNA ODPOWIEDŹ:
długa odpowiedź:
Jest to prawdopodobnie spowodowane niezabezpieczonym redis-server
instancja. Domyślny obraz redis w kontenerze Docker jest niezabezpieczony.
Udało mi się połączyć z redis
na moim serwerze WWW za pomocą redis-cli -h <my-server-ip>
Aby rozwiązać ten problem, przejrzałem ten artykuł na DigitalOcean i wiele innych i udało mi się zamknąć port.
- Tutaj możesz wybrać domyślny redis.conf
- Następnie zaktualizuj docker-compose
redis
sekcja (odpowiednio zaktualizuj ścieżki plików)
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"
ścieżka do redis.conf
w command
i volumes
powinien pasować
- przebuduj redis lub wszystkie usługi zgodnie z wymaganiami
- spróbuj użyć
redis-cli -h <my-server-ip>
do weryfikacji (przestało działać dla mnie)