我最近开始涉及Orion Context Broker的项目。试图使用docker在Windows上启动它。
https://hub.docker.com/r/fiware/orion/
第一种方法并不好,我在使用教程中的原始代码时得到的错误是:
ERROR: yaml.parser.ParserError: while parsing a block mapping
in ".\docker-compose.yml", line 1, column 1
expected <block end>, but found '<block mapping start>'
in ".\docker-compose.yml", line 5, column 2
然后我决定继续第二种方法,我用默认参数启动了mongoDB。我得到它来监听连接并使用来自docker站点的2A方式。
sudo docker run -d --name orion1 -p 1026:1026 fiware/orion
它似乎已经启动,因为它在启动时没有返回任何错误。但是,如果我使用:
curl localhost:1026/version
我没有收到任何响应它只是冻结而且在mongoDB控制台中我没有任何新的连接。 docker容器的addr是对的。防火墙已关闭。它似乎没有连接,但它正在运行。如果我想重新启动orion context broker它告诉我它已经运行了,那么我就停止它,删除orion1并再次启动它。当我从另一个控制台连接到运行mongoDB时,它显示一个新的连接,而当与Context Broker连接时,它没有。
当我检查CB日志时,我得到了
time=Tuesday 24 Oct 21:37:32 2017.378Z | lvl=ERROR | corr=N/A
trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion |
op=mongoConnectionPool.cpp[152]:mongoConnect |
msg=Database Startup Error (cannot connect to mongo - doing 100 retries with a 1000 microsecond interval)
答案 0 :(得分:1)
关于docker-compose.yml失败,复制粘贴有时很棘手......我会建议你to download directly from github repository。以下应该有效:
wget https://raw.githubusercontent.com/telefonicaid/fiware-orion/master/docker/docker-compose.yml
关于Orion docker无法连接数据库,请查看section 2B in the docker documentation:
sudo docker run -d --name orion1 --link mongodb:mongodb -p 1026:1026 fiware/orion -dbhost mongodb
您似乎错过了--link mongodb:mongodb
参数(当然,这需要先运行一个名为mongodb
的MongoDB泊坞窗。)