【问题标题】:Docker compose bitcoin serviceDocker 编写比特币服务
【发布时间】:2018-07-20 23:55:31
【问题描述】:

我有一个简单的 python 服务,它向正在运行的比特币服务器发送一条命令。当我运行本地比特币守护程序时,一切正常。但是,当我尝试使用 Docker 运行它时,我无法将此服务连接到另一个 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',))

有什么想法吗?

【问题讨论】:

  • 进入bitcoind容器,查看18333端口是否开启,服务是否运行。
  • 您的服务的入口点是什么?它是如何尝试连接的(例如连接字符串)?另外,参考。 rpcallowip 设置,你确定你是从这些 CIDR 范围之一连接(看不到任何 docker 网络配置设置 - 正在运行的容器的 IP 是什么) - 尝试 rpcallowip=0.0.0.0?

标签: docker docker-compose bitcoin bitcoind


【解决方案1】:

您必须打开容器端口18333。使用docker compose,您可以使用命令'expose'来做到这一点。

【讨论】:

    猜你喜欢
    • 2014-03-25
    • 1970-01-01
    • 2019-05-16
    • 1970-01-01
    • 2023-04-09
    • 2019-12-04
    • 1970-01-01
    • 2018-06-12
    • 2014-06-27
    相关资源
    最近更新 更多