构建泊坞窗图像后,如何在不推送到docker hub的情况下运行图像?

时间:2016-03-19 00:29:33

标签: docker

文档对我来说不是很清楚。我在Dockerfile目录中运行docker build -f .,它似乎构建成功,很棒。我不确定下一步该怎么做,我看一下它告诉我的文档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我没有兴趣发布它或创建一个帐户。

我的另一个选择是命名构建我猜,对吧?如果我运行docker build -t <nodebb> .,那么我会获得file exists: .。如果我运行docker build -f <nodebb> .,那么我会获得no such file or directory: nodebb

所以我有点迷失,我希望我能更好地理解文档,但我不会,并会很感激指导。谢谢!

1 个答案:

答案 0 :(得分:1)

您的标记问题:您无法在标记中使用<>

您看到的错误是因为&#39;&lt;&#39;和&#39;&gt;&#39;由bash解释。 docker build -t <nodebb> .尝试执行以下操作:

  1. 它会读取文件nodebb并将其传输到docker build -t
  2. 获取docker build -t < nodebb的输出并将其写入文件.
  3. 这失败有几个原因:

    • -t需要一个参数,标记名称
    • 文件.已经存在(这是您看到的错误)

    通常,您可以通过转义参数来避免这种情况:

    docker build -t "<nodebb>" .
    

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

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

    有充分理由,标签名称中不允许<>。相反,请使用有效标记:

    docker build -t nodebb .
    

    运行没有标记的图像

    您还可以运行没有标签的构建图像;如果您构建图像,最后一行将始终如下:

    Successfully built 028edf7c13d1
    

    您可以使用docker run 028edf7c13d1运行该图片。