我正在尝试使用Docker将Hubot与Rocketchat连接起来。 我的命令是:
docker run -it -e ROCKETCHAT_URL=<your rocketchat instance>:<port> \
-e ROCKETCHAT_ROOM='' \
-e LISTEN_ON_ALL_PUBLIC=true \
-e ROCKETCHAT_USER=bot \
-e ROCKETCHAT_PASSWORD=bot \
-e ROCKETCHAT_AUTH=password \
-e BOT_NAME=bot \
-e EXTERNAL_SCRIPTS=hubot-pugme,hubot-help \
rocketchat/hubot-rocketchat
我的输入是:U:\ myhubot&gt; docker run -it -e ROCKETCHAT_URL = https://spree.chat/channel/:3000
但Docker说: docker:解析引用时出错:“\”不是有效的存储库/标记:无效的引用格式。
我检查了Docker的版本,它是对的。这是Web浏览器上唯一的解决方案。 解决方案是什么?
截图:
答案 0 :(得分:2)
您问题中的命令文本跨多行,使用\
字符继续到下一行并向命令添加更多内容。
首先,这是Unix惯例,但您使用的是Windows。在Windows上,\
是目录分隔符,而不是行继续符。在Windows上,为了继续下一行,我相信您使用的是^
。
其次,在您的屏幕截图中,您似乎在命令中使用\
,但它只是一行。该命令在它之后的同一行继续。所以Docker看到\
它希望找到一个图像名称,并尝试使用它。但那是无效的,所以它会抱怨并告诉你。
如果您将在一行上使用此命令,只需删除\
个字符。
如果您将在多行中使用此功能,我相信您应该使用^
,而不是this answer。
另请参阅jdno's answer,这是您修复此问题后可能会遇到的另一个问题。
答案 1 :(得分:1)
网址的正确格式为protocol://domain:port/path/filename
,因此网址应为https://spree.chat:3000/channel/。 Docker并不期望:3000
因此无法解析命令。
查看Rocket.Chat Hubot Adapter的文档,在我看来,您只需要指定host:port
,即https://spree.chat:3000
。但这只是猜测...
答案 2 :(得分:0)
该命令采用unix样式,public void mouseReleased( MouseEvent arg ) {
pb.modifyFields( Color.green );
}
表示下一行的命令是连续的。
由于您使用的是Windows平台,请在单行中使用整个命令,即删除\
并将所有行排成一行。
尝试以下:
\