百度建站系统,泰安集团网站建设费用,新洲建设局网站,免费的室内设计网站现在您已经构建了一个映像#xff0c;可以共享它。要共享Docker映像#xff0c;您必须使用Docker注册表。默认注册表是Docker Hub#xff0c;是您使用的所有图像的来源。 Docker ID#xff08;Docker标识#xff09; Docker ID允许您访问Docker Hub#xff0c;这是世界上…现在您已经构建了一个映像可以共享它。要共享Docker映像您必须使用Docker注册表。默认注册表是Docker Hub是您使用的所有图像的来源。 Docker IDDocker标识 Docker ID允许您访问Docker Hub这是世界上最大的容器映像库和社区。如果没有Docker ID请免费创建。 一、创建存储库
要推送映像首先需要在Docker Hub上创建存储库。
注册或登录Docker Hub。选择“Create Repository”按钮。对于存储库名称请使用入门。确保可见性为Public。选择“Create”。
在下图中您可以看到来自Docker Hub的Docker命令示例。该命令将推送到该存储库。 二、推送镜像
1、在命令行中运行docker Hub上看到的docker push命令。请注意您的命令将具有Docker ID而不是“Docker”。
docker push docker/getting-started
The push refers to repository [docker.io/docker/getting-started]
An image does not exist locally with the tag: docker/getting-started
为什么它失败了push命令正在查找名为docker/getting-started的图像但没有找到。如果运行docker image ls也不会看到。 要解决此问题您需要标记您构建的现有图像以为其提供另一个名称。
2、使用命令Docker login-u YOUR-USER-NAME登录到Docker Hub。
3、使用docker tag命令为入门图像指定一个新名称。将您的用户名称替换为Docker ID。 docker tag getting-started YOUR-USER-NAME/getting-started4、现在再次运行docker push命令。如果要从Docker Hub复制值可以删除标记名部分因为您没有向图像名添加标记。如果不指定标记Docker将使用名为latest的标记。
docker push YOUR-USER-NAME/getting-started
三、在新实例上运行镜像
现在您的镜像已经构建并推送到注册表中请尝试在从未见过此容器镜像的全新实例上运行您的应用程序。为此您将使用Play with Docker。 注意 Play with Docker使用amd64平台。如果您将基于ARM的Mac与Apple Silicon一起使用则需要重建映像以与Play with Docker兼容并将新映像推送到存储库中。 要为amd64平台构建映像请使用--platform标志。 docker build --platform linux/amd64 -t YOUR-USER-NAME/getting-started . Docker buildx还支持构建多平台映像 打开浏览器以使用Docker。选择Login然后从下拉列表中选择docker。使用Docker Hub帐户登录然后选择开始。选择左侧栏上的“添加新实例”选项。如果看不到请将浏览器扩大一点。几秒钟后浏览器中将打开一个终端窗口。 5、在终端中启动新推送的应用。
$docker run -dp 0.0.0.0:3000:3000 YOUR-USER-NAME/getting-started
您应该看到图像被拉下并最终启动。 提示 您可能已经注意到该命令将端口映射绑定到不同的IP地址。以前的docker在主机上运行命令以将端口发布到127.0.0.1:3000。这一次您使用的是0.0.0.0。 绑定到127.0.0.1仅向环回接口公开容器的端口。然而绑定到0.0.0.0会在主机的所有接口上公开容器的端口使其可供外部使用。 有关端口映射工作方式的更多信息请参阅网络。 6、当3000标识出现时选择它。 如果未显示3000标识则可以选择“打开端口”并指定3000。
四、总结 在本节中您学习了如何通过将图像推送到 注册表。然后您转到了一个全新的实例并能够运行新的实例 推送图像。这在 CI 管道中很常见其中管道将 创建映像并将其推送到注册表然后推送到生产环境 可以使用最新版本的映像。