Docker运行/构建中斜杠之前的路径?为什么会有一个点?

Docker运行/构建中斜杠之前的路径?为什么会有一个点?,docker,Docker,我正在关注入门页面。我有几个问题不明白 docker build -t giantswarm/sparkexample . 我不遵循“giantswarm”路径和之后的giantswarm/sparkexample docker run -d -p 4567:4567 giantswarm/sparkexample 关于docker run“giantswarm”的相同问题您正在从当前目录(一个点)构建一个图像,斜杠前的“路径”将成为图像标记名的一部分(tagby-t),它只是一个命名约定,

我正在关注入门页面。我有几个问题不明白

docker build -t giantswarm/sparkexample .
我不遵循“giantswarm”路径和
之后的
giantswarm/sparkexample

docker run -d -p 4567:4567 giantswarm/sparkexample

关于docker run“giantswarm”的相同问题您正在从当前目录(一个点)构建一个图像,斜杠前的“路径”将成为图像标记名的一部分(tagby
-t
),它只是一个命名约定,而不是路径

(从技术上讲,这是一条通往DockerHub的道路)

您必须在运行容器映像之前构建或拉取它,并且在调用时需要使用相同的名称 docker build-t giantswarm/Sparke示例

-t是容器的标记名,您可以任意调用它!在本例中,标记名为“giantswarm/sparkexample”。“/”不是目录路径!从docker文件所在的同一目录调用:

docker build -t <anything you want name>  .
docker build-t。

“.”表示将此目录中的所有内容都包含在容器中。

这些都在Docker教程中得到了回答,请提出一个具体问题。阅读堆栈溢出文档。您不完全理解的是什么?命令末尾的点?“-p“?感谢您的快速响应。我一直在看文件。我从不在没有搜索的情况下发布堆栈溢出。事实上,我不理解路径“giantswarm/sparkexample”,什么是giantswarm,为什么是“.”在maven项目中还有其他文件:swarm.json这个特定的问题实际上与Java、maven或Spark无关。只有Docker是giantswarm的容器映像?整个内容是映像的名称
giantswarm/sparkexample
您也可以从Docker Hub中提取,但Docker文件中我的目标是target/sparkexample-jar-with-dependencies.jar。所以我把我的jar文件放在要运行JVM的容器中?这个尾随期将所有文件发送到Docker构建过程中。JAR文件的任何变化都取决于Dockerfile的内容