Docker:不是有效的存储库:
我试图用Huber连接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
我的input是:U:\ myhubot> docker run -it -e ROCKETCHAT_URL = https://spree.chat/channel/:3000
但是Docker说:docker:parsing引用时出错:“\”不是有效的repository / tag:无效的引用格式。
我检查了Docker的版本,它是正确的。 这是networking浏览器上唯一的解决scheme。 有什么解决scheme呢?
截图:
在你的问题中的命令的文本是跨越多行,使用\
字符继续下一行,并添加更多的命令。
首先,这是一个Unix约定,但是你正在使用Windows。 在Windows上, \
是一个目录分隔符,而不是一个连续的字符。 在Windows上,继续下一行,我相信你用^
代替。
其次,在你的屏幕截图中,你似乎在命令中使用\
,但它是一条线。 之后,该命令继续在同一行上。 因此,Docker正在看到它在哪里希望find一个图像名称,并试图使用它。 但是这不是有效的,所以它抱怨并告诉你。
如果您将在一行中使用此命令,只需删除\
字符。
如果你将跨越多行使用这个,我相信你应该使用^
来代替这个答案 。
另请参阅jdno的答案 ,这是您修复此问题后可能会遇到的另一个问题。
URL的正确格式是protocol://domain:port/path/filename
,所以URL应该是https://spree.chat:3000/channel/ 。 Docker不期望:3000
,因此parsing命令失败。
看看Rocket.Chat Hubot适配器的文档,在我看来,你只需要指定host:port
,即https://spree.chat:3000
。 但是这只是一个猜测…
命令是unix风格,其中\
代表下一行的连续命令。
由于您使用的是Windows平台,因此在单行中使用整个命令即删除\
,并将所有行都放在单行中。
试试下面:
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