Я использую backtrader в качестве клиента с IBpy2 для доступа к IBGateway, контролируемому IBC, работающему в Docker.
Я столкнулся с проблемой, что моя система запускается и просто зависает там, без ошибок или печатной отладочной информации.
Я отладил свой путь до этой строки , читая:
self.m_serverVersion = self.m_reader.readInt()
Который ожидает получения версии сервера через соединение, которое никогда не приходит.
Я получаю это только тогда, когда IBGateway проходит через докер, я не понимаю, как возможно, что IBpy может установить соединение, но не может обмениваться данными.
Я не могу точно определить, где может быть проблема, тот факт, что это происходит только тогда, когда IBC находится на компоновке Docker, предполагает, что это зависит от компоновки Docker, вот мой docker-compose.yml
файл
--- обновлено: ---
version: '3.7'
services:
trader:
build: ./
image: mytrader
container_name: mytrader
networks:
- trading
depends_on:
- tws
tws:
build: ./ib-docker
image: ibconnect
container_name: ibconnect
ports:
# - "4001:4001"
- "4003:4003"
- "5901:5901"
volumes:
- ./ib-docker/config.ini:/root/ibc/config.ini
# - ./ib-docker/twsstart.sh:/opt/ibc/twsstart.sh
- ./ib-docker/gatewaystart.sh:/opt/ibc/gatewaystart.sh
environment:
- TZ=UTC
# Variables pulled from /root/IBController/IBControllerGatewayStart.sh
- VNC_PASSWORD=password
- IBC_PATH=/opt/ibc
- LOG_PATH=/root/ibc/logs
env_file:
- tws_credentials.env
networks:
- trading
networks:
trading:
driver: bridge
и список сетей
% docker network ls
NETWORK ID NAME DRIVER SCOPE
4ad25f1cf0f4 bridge bridge local
9ca6f0e3f509 giuliotrader_default bridge local
3afbca83e020 giuliotrader_trading bridge local
73c2590a3a11 host host local
34e58c19f5e3 none null local
рад опубликовать любые дополнительные файлы или информацию, которые могут потребоваться.
Спасибо