Докер создает биткойн-сервис

У меня есть простой сервис Python, который отправляет одну команду на работающий биткойн-сервер. Когда я запускаю локальный биткойн-демон, все работает нормально. Однако, когда я пытаюсь запустить это с помощью Docker, я не могу подключить эту службу к биткойн-серверу в другом образе докера, как в этом docker-compose:

version: '3'
services:
  my_service:
    build: .
    volumes:
      - .:/app
    depends_on:
      - bitcoind
    links:
      - bitcoind
    working_dir: /app

  bitcoind:
    image: ruimarinho/bitcoin-core:0.15.0.1-alpine
    command:
      -printtoconsole
      -regtest=1
      -rest
      -rpcallowip=10.211.0.0/16
      -rpcallowip=172.17.0.0/16
      -rpcallowip=192.168.0.0/16
      -rpcpassword=bar
      -rpcport=18333
      -rpcuser=foo
      -server
    ports:
      - 18333:18333

volumes:
  bitcoin_data:

Я продолжаю получать следующую ошибку:

ConnectionError: HTTPConnectionPool(host='bitcoind', port=18333): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7faded979310>: Failed to establish a new connection: [Errno -2] Name or service not known',))

Есть идеи?


person user1981855    schedule 20.07.2018    source источник
comment
Войдите в контейнер биткойн и проверьте, открыт ли порт 18333 и запущена ли служба.   -  person Nicola Ben    schedule 22.07.2018
comment
Какова ENTRYPOINT вашего сервиса? Как он пытается подключиться (например, строка подключения)? Кроме того, исх. настройки rpcallowip, вы уверены, что подключаетесь из одного из этих диапазонов CIDR (не видите никаких настроек конфигурации сети докера — какой IP-адрес работающего контейнера) — пробовали rpcallowip=0.0.0.0?   -  person masseyb    schedule 16.09.2019


Ответы (1)


Вы должны открыть порт контейнера 18333. С помощью docker compose вы можете использовать команду «разоблачить», чтобы сделать это.

person brunoelyg    schedule 16.09.2019