运行 Orion 在 HTTPS 中 docker
Run Orion on docker in HTTPS
你好(抱歉),
我想将 Orion 配置为 docker 中的 运行ning 到 HTTPS 上的 运行。
我采取的步骤:
从中生成密钥和证书 (localhost.key/localhost.crt)
- 运行 cli 命令
contextBroker -https -key /localhost.key -cert /localhost.crt
附加信息:
{
"orion" : {
"version" : "1.13.0-next",
"uptime" : "0 d, 0 h, 15 m, 56 s",
"git_hash" : "95ec3913f20682214891e92a5afbb0122293ffa2",
"compile_time" : "Thu Jun 14 11:03:03 UTC 2018",
"compiled_by" : "root",
"compiled_in" : "bfe336509e64",
"release_date" : "Thu Jun 14 11:03:03 UTC 2018",
"doc" : "https://fiware-orion.readthedocs.org/en/master/"
}
}
输入cli命令后的错误日志:
lvl=ERROR | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=contextBroker.cpp[382]:pidFile | msg=PID-file '/tmp/contextBroker.pid' found. A broker seems to be running already
更多信息:
root 1 0.0 0.6 383308 13592 ? Ssl 08:31 0:00
/usr/bin/contextBroker -fg -multiservice -ngsiv1Autocast -dbhost mongo
root 184 0.0 0.0 9096 868 pts/0 S+ 08:54 0:00 grep --
color=auto contextBroker
问题:
我是不是在处理这个问题时犯了错误,我似乎在使用我的 cli 命令尝试创建另一个 cb 进程时遇到了这样的错误?
更多信息当我 运行 这个命令时:
/usr/bin/contextBroker -fg -multiservice -ngsiv1Autocast -dbhost mongo -https
-key /localhost.key -cert /localhost.cert
我收到这个错误:
time=Friday 15 Jun 09:25:20 2018.271Z | lvl=FATAL | corr=N/A | trans=N/A |
from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=rest.cpp[1732]:restStart |
msg=Fatal Error (error starting REST interface)
我知道这个错误是什么意思,因为我看到你已经在多个帖子上回复了这个错误,有 2 个进程正在使用端口,而解决方案正在杀死一个。但是我只从上面的代码中看不到这样的过程。
希望此信息对您有所帮助。
谢谢。
更新 2 个错误:
PID-file '/tmp/contextBroker.pid' found. A broker seems to be running already
按照您的建议删除旧的 pid 解决了这个错误。
然后我使用 运行ning cli 命令继续:
contextBroker -https -key /localhost.key -cert /localhost.crt
然后我查了一下:
ps ax | grep contextBroker
输出:
1 ? Ssl 0:00 /usr/bin/contextBroker -fg -multiservice -ngsiv1Autocast -dbhost mongo
90 ? Ss 0:00 contextBroker -https -key /localhost.key -cert /localhost.crt
95 pts/0 S+ 0:00 grep --color=auto contextBroker
Netstat 输出:
tcp 0 0 0.0.0.0:1026 0.0.0.0:* LISTEN
1/contextBroker
tcp6 0 0 :::1026 :::* LISTEN
1/contextBroker
有类似问题的人的解决方案。
mongo:
image: mongo:3.4
command: --nojournal
orion:
image: fiware/orion
volumes:
- /home/igor/Fiware/Orion/localhost.key:/localhost.key
- /home/igor/Fiware/Orion/localhost.pem:/localhost.pem
links:
- mongo
ports:
- "1026:1026"
command: -dbhost mongo -https -key /localhost.key -cert /localhost.pem
让我们看看不同的错误:
PID-file '/tmp/contextBroker.pid' found. A broker seems to be running already
这可能有两个原因:
- 另一个 Context Broker 运行 在同一台机器上使用相同的 PID 文件
- 另一个 Context Broker 是 运行,它以无序方式停止(例如崩溃),因此它无法在停止前删除 PID 文件
解决方案:
- 检查该机器上没有其他 Context Broker 在运行(例如
ps ax | grep contextBroker
)。有的话杀掉。
- 删除
/tmp/contextBroker.pid
文件(如果存在)。
Fatal Error (error starting REST interface)
此错误通常是由于另一个进程正在使用与 Orion 相同的端口(默认值:1026)。检查没有其他进程正在使用它,例如使用 netstat
。这通常是由于先前已启动另一个 Orion 实例,但也可能是其他原因造成的。
你好(抱歉),
我想将 Orion 配置为 docker 中的 运行ning 到 HTTPS 上的 运行。 我采取的步骤:
从中生成密钥和证书 (localhost.key/localhost.crt)
- 运行 cli 命令
contextBroker -https -key /localhost.key -cert /localhost.crt
附加信息:
{
"orion" : {
"version" : "1.13.0-next",
"uptime" : "0 d, 0 h, 15 m, 56 s",
"git_hash" : "95ec3913f20682214891e92a5afbb0122293ffa2",
"compile_time" : "Thu Jun 14 11:03:03 UTC 2018",
"compiled_by" : "root",
"compiled_in" : "bfe336509e64",
"release_date" : "Thu Jun 14 11:03:03 UTC 2018",
"doc" : "https://fiware-orion.readthedocs.org/en/master/"
}
}
输入cli命令后的错误日志:
lvl=ERROR | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=contextBroker.cpp[382]:pidFile | msg=PID-file '/tmp/contextBroker.pid' found. A broker seems to be running already
更多信息:
root 1 0.0 0.6 383308 13592 ? Ssl 08:31 0:00
/usr/bin/contextBroker -fg -multiservice -ngsiv1Autocast -dbhost mongo
root 184 0.0 0.0 9096 868 pts/0 S+ 08:54 0:00 grep --
color=auto contextBroker
问题: 我是不是在处理这个问题时犯了错误,我似乎在使用我的 cli 命令尝试创建另一个 cb 进程时遇到了这样的错误?
更多信息当我 运行 这个命令时:
/usr/bin/contextBroker -fg -multiservice -ngsiv1Autocast -dbhost mongo -https
-key /localhost.key -cert /localhost.cert
我收到这个错误:
time=Friday 15 Jun 09:25:20 2018.271Z | lvl=FATAL | corr=N/A | trans=N/A |
from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=rest.cpp[1732]:restStart |
msg=Fatal Error (error starting REST interface)
我知道这个错误是什么意思,因为我看到你已经在多个帖子上回复了这个错误,有 2 个进程正在使用端口,而解决方案正在杀死一个。但是我只从上面的代码中看不到这样的过程。 希望此信息对您有所帮助。
谢谢。
更新 2 个错误:
PID-file '/tmp/contextBroker.pid' found. A broker seems to be running already
按照您的建议删除旧的 pid 解决了这个错误。 然后我使用 运行ning cli 命令继续:
contextBroker -https -key /localhost.key -cert /localhost.crt
然后我查了一下:
ps ax | grep contextBroker
输出:
1 ? Ssl 0:00 /usr/bin/contextBroker -fg -multiservice -ngsiv1Autocast -dbhost mongo
90 ? Ss 0:00 contextBroker -https -key /localhost.key -cert /localhost.crt
95 pts/0 S+ 0:00 grep --color=auto contextBroker
Netstat 输出:
tcp 0 0 0.0.0.0:1026 0.0.0.0:* LISTEN
1/contextBroker
tcp6 0 0 :::1026 :::* LISTEN
1/contextBroker
有类似问题的人的解决方案。
mongo:
image: mongo:3.4
command: --nojournal
orion:
image: fiware/orion
volumes:
- /home/igor/Fiware/Orion/localhost.key:/localhost.key
- /home/igor/Fiware/Orion/localhost.pem:/localhost.pem
links:
- mongo
ports:
- "1026:1026"
command: -dbhost mongo -https -key /localhost.key -cert /localhost.pem
让我们看看不同的错误:
PID-file '/tmp/contextBroker.pid' found. A broker seems to be running already
这可能有两个原因:
- 另一个 Context Broker 运行 在同一台机器上使用相同的 PID 文件
- 另一个 Context Broker 是 运行,它以无序方式停止(例如崩溃),因此它无法在停止前删除 PID 文件
解决方案:
- 检查该机器上没有其他 Context Broker 在运行(例如
ps ax | grep contextBroker
)。有的话杀掉。 - 删除
/tmp/contextBroker.pid
文件(如果存在)。
Fatal Error (error starting REST interface)
此错误通常是由于另一个进程正在使用与 Orion 相同的端口(默认值:1026)。检查没有其他进程正在使用它,例如使用 netstat
。这通常是由于先前已启动另一个 Orion 实例,但也可能是其他原因造成的。