Docker:不是有效的存储库:

时间:2017-06-20 14:45:25

标签: docker

我正在尝试使用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浏览器上唯一的解决方案。 解决方案是什么?

截图:

Docker Error

3 个答案:

答案 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平台,请在单行中使用整个命令,即删除\并将所有行排成一行。

尝试以下:

\