BigChainDB в Docker сразу вылетает с отказом соединения?
Я на Win10 x64, следуя инструкциям на https://docs.bigchaindb.com/projects/server/en/latest/appendices/run-with-docker.html
Потому что я бегу в 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. Кто-нибудь сталкивался с этой проблемой раньше?
1 ответ
Из первой строки предоставленных вами журналов выглядит, что вы запускаете главную ветку:
INFO:bigchaindb.commands.bigchain:BigchainDB Version 0.10.0.dev
Раньше считалось, что последний тег образа BigchainDB (docker) будет указывать на последнюю главную ветвь. Это было недавно изменено так, что теперь оно указывает на последний выпуск, соответствующий тому, что есть в индексе пакетов 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. Подробные инструкции можно найти в основной версии документации BigchainDB в разделе " Запуск базы данных бэкэнда ".