在build立docker图像之后,我怎样才能运行图像而不用推送到docker集线器?

文档对我来说不是很清楚。 我运行docker build -f . 在Dockerfile目录下,它似乎构build成功,很好。 我不知道接下来该做什么,我看看文档https://docs.docker.com/engine/reference/builder/它告诉我When you're done with your build, you're ready to look into Pushing a repository to its registry.

这需要我在这里https://docs.docker.com/engine/userguide/containers/dockerrepos/#contributing-to-docker-hub我没有兴趣发布或创build一个帐户。

我的其他select是命名构build我猜,对吧? 如果我运行docker build -t <nodebb> . 然后我得到file exists: . 。 如果我运行docker build -f <nodebb> . 那么我不会得到no such file or directory: nodebb

所以我有点失落,我希望我能更好地理解文档,但是我不这样做,也不会感激这个指导。 谢谢!

你的标签问题:你不能在标签中使用<>

你看到的错误是因为'<'和'>'是由bash解释的。 docker build -t <nodebb> . 试图做到以下几点:

  1. 它读取文件nodebb并将其pipe理到nodebb docker build -t
  2. 它需要docker build -t < nodebb的输出并将其写入文件.

这失败的原因有几个:

  • -t期望一个参数,标签名称
  • 该文件. 已经存在(这是你看到的错误)

一般来说,你可以通过转义来避免这种情况:

 docker build -t "<nodebb>" . 

但是,这会导致另一个错误:

 Error parsing reference: "<nodebb>" is not a valid repository/tag 

出于好的原因,标签名称中不允许有<> 。 相反,使用有效的标签:

 docker build -t nodebb . 

运行没有标签的图像

你也可以运行一个没有标签的图像。 如果你build立一个图像,最后一行总是这样的:

 Successfully built 028edf7c13d1 

您可以使用docker run 028edf7c13d1运行该映像。