sql >> Databáze >  >> NoSQL >> Redis

Docker [Errno 111] Připojit volání se nezdařilo ('127.0.0.1', 6379)

Zkuste změnit 127.0.0.1:6379 na redis:6379 .

Přestože Redis běží, váš python kontejner s ním není schopen komunikovat; je to proto, že se pokouší připojit k 127.0.0.1:6379 , ale z pohledu kontejneru tam nic neběží. To může být při ladění trochu frustrující, ale je to o něco snazší, pokud budete mít na paměti, že kontejnery mají svůj vlastní síťový jmenný prostor. Výsledkem je python localhost !=redis 's localhost !=localhost vašeho hostitelského počítače .

Naštěstí je snadné připojit kontejnery, které sdílejí stejný most, a ve výchozím nastavení docker-compose vytvoří jedinou mostovou síť a připojí k nim všechny vaše kontejnery a poskytne potřebné DNS, aby se mohli navzájem objevit. Výsledkem je, že komunikace mezi kontejnery funguje jednoduše pomocí názvu služby.

Poznámka:Je možné spouštět kontejnery ve stejném jmenném prostoru a spouštět v nich v jmenném prostoru hostitele pomocí --net=container:<container-id> nebo --net=host vlajka. To je zvláště užitečné pro spouštění ladicích nástrojů v kontejneru a jejich připojení k síťovému jmennému prostoru jiného kontejneru nebo hostitele, např. pomocí netshoot, abyste viděli, jaké porty naslouchají v kontejneru (exponované nebo ne), docker run --rm -it --net container:test_web_1 nicolaka/netshoot netstat -tulpn .



  1. nelze se připojit k kontejneru redis z kontejneru aplikace

  2. Mongo agregace se stránkovanými daty a součty

  3. Jarní stránka dat mongo

  4. sudo service mongodb restart dává nerozpoznanou chybu služby v ubuntu 14.0.4