我有一个简单的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',))
有什么想法吗?
答案 0 :(得分:1)
您必须打开容器端口18333。使用docker compose,您可以使用命令“ expose”来执行此操作。