查看“Docker分享应用程序”的源代码
←
Docker分享应用程序
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
现在你已经构建了一个镜像,你可以将它分享出去。要分享Docker镜像,你需要使用一个Docker注册表。默认的注册表是Docker Hub,所有你使用过的镜像都来自于这里。 <span id="docker-id"></span> == Docker ID == Docker ID可以让你访问Docker Hub,这是世界上最大的容器镜像库和社区。如果你还没有Docker ID,可以免费创建一个。 == 创建一个仓库 == 要推送一个镜像,首先你需要在Docker Hub上创建一个仓库。 # 注册或登录到Docker Hub。 # 选择创建仓库按钮。 # 对于仓库名称,使用getting-started。确保可见性为公共。 # 选择创建。 == 推送镜像 == 在命令行中,运行你在Docker Hub上看到的docker push命令。注意,你的命令中应该有你的Docker ID,而不是”docker”。 <pre>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</pre> 为什么会失败?推送命令在寻找一个名为docker/getting-started的镜像时没有找到。如果你运行docker image ls,你也看不到这个镜像。 要解决这个问题,你需要为你已经构建的现有镜像打上一个新的标签。 # 使用命令docker login -u YOUR-USER-NAME登录到Docker Hub。 # 使用docker tag命令为getting-started镜像命名一个新名称。将YOUR-USER-NAME替换为你的Docker ID。 <pre> docker tag getting-started YOUR-USER-NAME/getting-started </pre> 现在再次运行docker push命令。如果你从Docker Hub复制了值,你可以省略标签部分,因为你没有给镜像名称添加标签。如果你没有指定标签,Docker会使用一个叫做latest的标签。 <pre> docker push YOUR-USER-NAME/getting-started </pre> == 在新实例上运行镜像 == 现在你的镜像已经构建并推送到注册表中,尝试在一个全新的实例上运行你的应用程序,这个实例从未见过这个容器镜像。为了做到这一点,你将使用Play with Docker。 <blockquote>注意 Play with Docker使用amd64平台。如果你使用的是基于ARM的Mac,你需要重新构建镜像以与Play with Docker兼容,并将新镜像推送到你的仓库。 </blockquote> 要为amd64平台构建镜像,使用–platform标志。 <pre>docker build --platform linux/amd64 -t YOUR-USER-NAME/getting-started .</pre> Docker buildx还支持构建多平台镜像 # 在浏览器中打开Play with Docker。 # 选择登录,然后从下拉列表中选择docker。 # 使用你的Docker Hub帐户登录,然后选择开始。 # 在左侧边栏上选择ADD NEW INSTANCE选项。如果你没有看到它,请将浏览器调宽一点。几秒钟后,一个终端窗口在你的浏览器中打开。 # 在终端中,启动你刚刚推送的应用程序。 <pre> docker run -dp 0.0.0.0:3000:3000 YOUR-USER-NAME/getting-started </pre> 你应该会看到镜像被拉取下来并最终启动起来。 <blockquote>提示 你可能已经注意到,这个命令将端口映射绑定到了不同的IP地址。之前的docker run命令将端口发布到主机上的127.0.0.1:3000。这次,你使用的是0.0.0.0。 </blockquote> 绑定到127.0.0.1只会将容器的端口暴露给环回接口。然而,绑定到0.0.0.0会将容器的端口暴露给主机的所有接口,使其对外界可用。 当3000徽章出现时,选择它。 如果没有出现3000徽章,你可以选择打开端口并指定3000。
返回至“
Docker分享应用程序
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
基础知识
正则表达式
Markdown
分布式
项目管理
系统集成项目管理基础知识
云原生
Docker
云原生安全
云原生词汇表
十二因素应用
Kubernetes
音频处理
音频合成
Edge-tts
CMS系统
Docsify
VuePress
Mediawiki
自动生成
Marp
CI/CD
GitLab
设计
颜色
平面设计
AI
数字人
操作系统
GNU/Linux
数据库
Mysql
工具
链入页面
相关更改
特殊页面
页面信息