2017-03-01 82 views
0

我在下面。因为我在Windows上运行(并且没有$HOME)在https://docs.bigchaindb.com/projects/server/en/latest/appendices/run-with-docker.htmlDocker中的BigChainDB立即崩溃,连接拒绝?

说明Win10 x64上,这里是我运行的实际命令:

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 

的第一个命令似乎执行得很好。我在我的C:/bigchaindb_docker文件夹中看到.bigchaindb文件。第二个命令将启动一个容器,但大约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。有没有人遇到过这个问题?

+0

您是否将IP更改为泊坞员套餐?文档说它在Linux上是'172.17.0.1'。 Windows上相应的IP是什么?编辑:我不好,我假设你正在使用主分支。对于初学者,我建议您在指定容器时使用显式标签,因为它可以帮助我们更好地进行调试。 :) – krish7919

回答

3

从你提供的日志,它看起来像正在运行的主分支的第一行:

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

它曾经是一个BigchainDB(搬运工)图像的最新标签将指向最新主分支。最近更改了它,现在它指向最新版本,与Python包索引(PyPI)上的内容匹配。

所以,如果你再次拉图像,它应该更新到最新的版本,在撰写本文时是0.9.5。那就是:

docker pull bigchaindb/bigchaindb 

或等价:

docker pull bigchaindb/bigchaindb:latest 

或明确地拉动标签0.9.5

docker pull bigchaindb/bigchaindb:0.9.5 

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

如果您希望使用最新的master分支,那么您将需要运行RethinkDB,因为它不再嵌入在Docker镜像中。有关详细说明,请参阅Run the backend database部分下BigchainDB文档的主版本。