0

我按照https://docs.bigchaindb.com/projects/server/en/latest/appendices/run-with-docker.html上的说明使用 Win10 x64

因为我在 Windows 中运行(并且没有$HOME),所以这是我正在运行的实际命令:

docker run --rm -v "C:/bigchaindb_docker:/data" -ti bigchaindb/bigchaindb -y configure rethinkdb
docker run -v "C:/bigchaindb_docker:/data" -d --name bigchaindb -p "58080:8080" -p "59984:9984" bigchaindb/bigchaindb start

第一个命令似乎执行得很好。.bigchaindb我在我的文件夹中看到一个文件C:/bigchaindb_docker。第二个命令将启动一个容器,但大约 6 秒后容器以代码 1 退出。我运行docker start <container> && docker attach <container>并能够得到这个转储:

INFO:bigchaindb.commands.bigchain:BigchainDB Version 0.10.0.dev
INFO:bigchaindb.config_utils:Configuration loaded from `/data/.bigchaindb`
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/rethinkdb/net.py", line 271, in __init__
    self._socket = socket.create_connection((self.host, self.port), timeout)
  File "/usr/lib/python3.5/socket.py", line 711, in create_connection
    raise err
  File "/usr/lib/python3.5/socket.py", line 702, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/bigchaindb", line 11, in <module>
    load_entry_point('BigchainDB', 'console_scripts', 'bigchaindb')()
  File "/usr/src/app/bigchaindb/commands/bigchain.py", line 401, in main
    utils.start(create_parser(), sys.argv[1:], globals())
  File "/usr/src/app/bigchaindb/commands/utils.py", line 96, in start
    return func(args)
  File "/usr/src/app/bigchaindb/commands/bigchain.py", line 201, in run_start
    _run_init()
  File "/usr/src/app/bigchaindb/commands/bigchain.py", line 142, in _run_init
    schema.init_database(connection=b.connection)
  File "/usr/src/app/bigchaindb/backend/schema.py", line 99, in init_database
    create_database(connection, dbname)
  File "/usr/lib/python3.5/functools.py", line 743, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
  File "/usr/src/app/bigchaindb/backend/rethinkdb/schema.py", line 17, in create_database
    if connection.run(r.db_list().contains(dbname)):
  File "/usr/src/app/bigchaindb/backend/rethinkdb/connection.py", line 49, in run
    self._connect()
  File "/usr/src/app/bigchaindb/backend/rethinkdb/connection.py", line 73, in _connect
    self.conn = r.connect(host=self.host, port=self.port, db=self.dbname)
  File "/usr/local/lib/python3.5/dist-packages/rethinkdb/net.py", line 661, in connect
    return conn.reconnect(timeout=timeout)
  File "/usr/local/lib/python3.5/dist-packages/rethinkdb/net.py", line 572, in reconnect
    return self._instance.connect(timeout)
  File "/usr/local/lib/python3.5/dist-packages/rethinkdb/net.py", line 430, in connect
    self._socket = SocketWrapper(self, timeout)
  File "/usr/local/lib/python3.5/dist-packages/rethinkdb/net.py", line 337, in __init__
    (self.host, self.port, str(ex)))
rethinkdb.errors.ReqlDriverError: Could not connect to localhost:28015. Error: [Errno 111] Connection refused

我正在研究使用 BigChainDB,但我对此知之甚少。我猜它正在尝试连接到 rethinkdb 并且它没有运行。我不知道从哪里开始解决这个问题,我也从未使用过 rethinkdb。有没有人遇到过这个问题?

4

1 回答 1

3

从您提供的日志的第一行看来,您正在运行 master 分支:

INFO:bigchaindb.commands.bigchain:BigchainDB Version 0.10.0.dev

过去,BigchainDB (docker) 镜像的最新标签会指向最新的 master 分支。最近对此进行了更改,现在它指向最新版本,与 Python 包索引 (PyPI) 上的内容相匹配。

因此,如果您再次拉取图像,它应该更新到在撰写本文时为0.9.5. 那是:

docker pull bigchaindb/bigchaindb

或等效地:

docker pull bigchaindb/bigchaindb:latest

或显式拉标签0.9.5

docker pull bigchaindb/bigchaindb:0.9.5

如果您使用 version 0.9.5,并尝试您发布的两个命令,它应该可以工作。

如果您希望使用最新的 master 分支,那么您将需要运行 RethinkDB,因为它不再嵌入在 Docker 映像中。详细说明可以在运行后端数据库部分下的 BigchainDB 文档的主版本中找到。

于 2017-04-06T13:39:40.967 回答