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呢?

截图:

Docker错误

在你的问题中的命令的文本是跨越多行,使用\字符继续下一行,并添加更多的命令。

首先,这是一个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