задано никакого alias, который говорил бы, что server == rss. Как клиент должен об этом догадаться?
Я решил исправить код перед отправкой сюда заменив названия на более понятные server и client. Вот исходный: version: "3" services: rss: # recognize socket server container_name: rss restart: always build: context: . dockerfile: ./docker/Dockerfile.rss env_file: - .env.docker networks: - deploy_network volumes: - .:/code command: python recognition_server.py yp-bot: container_name: yp-bot depends_on: - rss build: context: . dockerfile: ./docker/Dockerfile.bot env_file: - .env.docker environment: - STT_SOCKET_HOST=rss networks: - deploy_network volumes: - .:/code command: python run_bot.py networks: deploy_network: Вверху скриншота видно на каком адресе запускается rss (сервер) и на какой адрес yp-bot (клиент) отправляет сообщение. INFO:rss:Socket is listening on ('localhost', 4456) и ('rss', 4456) соответственно
сделай чтобы rss слушал 0.0.0.0 , 4456
Получилось, спасибо. Но на сколько я понимаю, должно работать и при запуске в локальной сети, разве нет?
нет, иначе порт за пределы контейнера с рсс не выйдет
У меня есть другой проект, где redis и postgres на localhost запускаются, но другой контейнер их видит. Это значит что redis и postgres не на localhost сидят? env.docker: REDIS_HOST = "localhost" REDIS_PORT = 6379 REDIS_DB = 0 REDIS_PASSWORD = "" POSTGRES_DB = "fb_analictics" POSTGRES_HOST = "localhost" POSTGRES_PORT = 5432 POSTGRES_USER = "user" POSTGRES_PASSWORD = "password" docker-compose: ... environment: - REDIS_HOST=cache - POSTGRES_HOST=db ...
А с чего ты взял, что образы postgres и redis читают переменные POSTGRES_HOST и REDIS_HOST?
Выдумал сам себе. В доке образов этих переменных нет, спасибо :)
Обсуждают сегодня