当前位置: 首页 > news >正文

Docker—共享应用程序

现在您已经构建了一个映像,可以共享它。要共享Docker映像,您必须使用Docker注册表。默认注册表是Docker Hub,是您使用的所有图像的来源。

Docker ID(Docker标识)
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-started

4、现在再次运行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还支持构建多平台映像

  1. 打开浏览器以使用Docker。
  2. 选择Login,然后从下拉列表中选择docker。
  3. 使用Docker Hub帐户登录,然后选择开始。
  4. 选择左侧栏上的“添加新实例”选项。如果看不到,请将浏览器扩大一点。几秒钟后,浏览器中将打开一个终端窗口。 

 

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 管道中很常见,其中管道将 创建映像并将其推送到注册表,然后推送到生产环境 可以使用最新版本的映像。

相关文章:

Docker—共享应用程序

现在您已经构建了一个映像,可以共享它。要共享Docker映像,您必须使用Docker注册表。默认注册表是Docker Hub,是您使用的所有图像的来源。 Docker ID(Docker标识) Docker ID允许您访问Docker Hub,这是世界上…...

Linux横向移动

Linux横向移动 主机存活探测 shell for i in 192.168.111.{1..254}; do if ping -c 3 -w 3 $i &>/dev/null; then echo $i is alived; fi; done 或者 for k in $( seq 1 255);do ping -c 1 192.168.1.$k|grep "ttl"|awk -F "[ :]" {print $4}; d…...

Ubuntu 20.0 + mysql 8.0 用户和密码修改

第一步 下载(简单,注意联网)Ubuntu 终端输入以下两行命令 (1) 数据库的服务端及客户端数据库的开发软件包 sudo apt-get install mysql-server mysql-client (2) 数据库的开发软件包 sudo apt-get install libmysqlclient-dev 第二步 查看是否安装成功 …...

看懂lscpu的输出

文章目录 1. lscpu1.1 Architecture1.2 逻辑核心数1.3 缓存1.4 CPU型号1.5 NUMA架构1.5.1 CPU多核架构1.5.2 多CPU Socket架构 2. cat /proc/cpuinfo2.1 关键字段 1. lscpu 通过lscpu查看当前系统的CPU信息。 [hadoopserver3 ~]$ lscpuArchitecture: x86_64 …...

RoPE旋转位置编码浅析

RoPE旋转位置编码浅析 本文介绍了旋转位置编码RoPE在大模型中的广泛应用,包括Llama、Mistral 7B、Baichuan、ChatGLM、Qwen、…等。由于计算资源限制,大模型通常在较小的上下文长度中进行训练,导致在推理超出预训练长度时性能显著下降。为了解决这个问题,涌现了许多基于Ro…...

在 SQL Server 中备份和恢复数据库的最佳方法

在SQL Server中,创建备份和执行还原操作对于确保数据完整性、灾难恢复和数据库维护至关重要。以下是备份和恢复过程的概述: 方法 1. 使用 SQL Server Management Studio (SSMS) 备份和还原数据库 按照 SSMS 步骤备份 SQL 数据库 打开 SSMS 并连接到您…...

Java8 根据自定义属性去重

一、需求背景 有一个List集合,里面有n个Answer成员,成员种有m个属性,即: List<Answer> answers ...,现在我需要根据Answer的某一个属性对List去重(属性不固定),应该如何实现呢? 二、解决办法 需要满足上述需求&#xff0c;并不难&#xff0c;我们可以使用Java8提供的…...

Netty网络编程

入门案例 1、服务器端代码 public class HelloServer {public static void main(String[] args) {// 1、启动器&#xff0c;负责装配netty组件&#xff0c;启动服务器new ServerBootstrap()// 2、创建 NioEventLoopGroup&#xff0c;可以简单理解为 线程池 Selector.group(n…...

层三交换机解析(Layer 3 Switch)层3交换机

文章目录 层三交换机解析1. 概述1.1 什么是层三交换机1.2 层三交换机与路由器、二层交换机的比较 2. 层三交换机的工作原理2.1 基于MAC地址的转发2.2 基于IP地址的转发 3. 层三交换机的配置4. 常见问题与解答4.1 我应该使用路由器还是层三交换机&#xff1f;4.2 层三交换机可以…...

expect自动化交互

目录 1. expect作用&#xff1a; 2. expect语言用法&#xff1a; 3. 实例 1. expect作用&#xff1a; 是建立在tcl语言基础上的一个工具&#xff0c;常被用于进行自动化控制和测试&#xff0c;解决shell脚本中交互的相关问题。 2. expect语言用法&#xff1a; spawn开启免…...

探究两个互联网时代的差异,Web 2.0 与 Web 3.0 区别

Web 2.0 的特征 首先我们来了解一下 Web 2.0 的特征都有哪些。 用户生成内容&#xff1a;Web 2.0 时代以用户生成内容为特征&#xff0c;用户可以轻松地在网络上分享、创建和编辑信息。社交媒体平台、博客等网站的兴起使得用户成为信息的创造者&#xff0c;网络逐渐从被动浏览…...

c++基本常见错误总结

我们无论是在学习中还是在工作当中&#xff0c;总是会遇到各种各样的c编译错误问题&#xff0c;经常会有一种情况就是上一次好像遇到过这种问题&#xff0c;但是就是想不起来了&#xff08;我就是这样&#xff09;所以下面这一篇文章就是总结自己遇到的编译以及运行错误。 注意…...

鸿蒙原生应用/元服务开发-AGC分发如何生成密钥和和证书请求文件

HarmonyOS通过数字证书&#xff08;.cer文件&#xff09;和Profile文件&#xff08;.p7b文件&#xff09;等签名信息来保证应用的完整性&#xff0c;应用如需上架到华为应用市场必须通过签名校验。因此&#xff0c;开发者需要使用发布证书和Profile文件对应用进行签名后才能发布…...

Python自动化——driver.switch_to的用法

driver.switch_to的用法 from selenium import webdriver driver webdriver.Chrome(/path/to/chromedriver) # Chrome driver.get(https://www.example.com) # 打开网页 element driver.find_element_by_id(element_id) # 查找元素记得在不需要使用 driver 时&#xff0c…...

【Java技术专题】「入门到精通系列教程」深入探索Java特性中泛型技术体系的原理和实战开发指南

深入探索Java特性中泛型技术体系的原理和实战开发指南 前提介绍泛型的介绍泛型带来的好处泛型引发的问题错觉&#xff1a;泛型也可以实现多态 泛型的特点类型擦除概念定义案例分析隐患问题开发要点类型擦除的过程案例代码 实例分析类型转换问题 通配符与上下界通配符List<Ob…...

基于Java SSM邮局订报管理系统

尽管电子读物越来越普及&#xff0c;但还是有很多读者对纸质刊物情有独钟&#xff0c;所以邮局的报刊征订业务一直非常受欢迎。邮局订报管理系统就是对客户在邮局订阅报刊进行管理&#xff0c;包括查询报刊、订阅报刊、订阅信息的查询、统计等的处理&#xff0c;系统的主要业务…...

【优选算法系列】【专题一双指针】第四节.15. 三数之和和18. 四数之和

文章目录 前言一、三数之和 1.1 题目描述 1.2 题目解析 1.2.1 算法原理 1.2.2 代码编写 1.2.3 题目总结二、四数之和 2.1 题目描述 2.2 题目解析 2.2.1 算法原理 2.2.2 代码编写 …...

字符集——带你了解UTF-8的前世今生

文章目录 字符集的来历汉字和字母的编码特点Unicode字符集字符集小结编码和解码开发约定 字符集的来历 计算机是美国人发明的&#xff0c;由于计算机能够处理的数据只能是0和1组成的二进制数据&#xff0c;为了让计算机能够处理字符&#xff0c;于是美国人就把他们会用到的每一…...

数据分析工具比较:Excel vs Python vs R

写在开头 在数据分析的世界里&#xff0c;选择合适的工具至关重要。本篇博客将深入比较常用的数据分析工具&#xff0c;包括Excel、Python和R&#xff0c;以帮助读者更好地选择适合自己需求的工具。 1.Excel&#xff1a;经典易用的电子表格 优势&#xff1a; 用户友好&…...

Java基础数据类型

Java有八种基础的数据类型&#xff0c;它们被分为两个主要的类别&#xff1a;原始类型和引用类型。原始类型又被分为四类&#xff1a;整型、浮点型、字符型和布尔型。 整型&#xff08;Integral Types&#xff09;&#xff1a; 这些类型用于存储整数。它们包括&#xff1a; ○…...

大麦抢票神器:3分钟快速上手,轻松搞定热门演出门票

大麦抢票神器&#xff1a;3分钟快速上手&#xff0c;轻松搞定热门演出门票 【免费下载链接】ticket-purchase 大麦自动抢票&#xff0c;支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 你是一个文章写手&#x…...

学习记录:数据预处理流程全解析

学习记录&#xff1a;数据预处理流程全解析 在大数据分析过程中&#xff0c;数据预处理是极为关键的环节&#xff0c;它直接影响到后续分析结果的准确性和可靠性。近期深入学习了数据预处理的各个流程&#xff0c;包括数据清洗、数据集成、数据变换和数据归约&#xff0c;下面将…...

Realistic Vision V5.1虚拟摄影棚教程:负向提示词组合策略与失效排查

Realistic Vision V5.1虚拟摄影棚教程&#xff1a;负向提示词组合策略与失效排查 你是不是也遇到过这样的情况&#xff1a;用Realistic Vision V5.1生成的人像&#xff0c;明明提示词写得很好&#xff0c;但出来的照片总有些不对劲——手指扭曲得像外星人&#xff0c;脸部细节…...

PyArmor解包终极指南:3种高效逆向分析技巧快速掌握代码解密核心技术

PyArmor解包终极指南&#xff1a;3种高效逆向分析技巧快速掌握代码解密核心技术 【免费下载链接】PyArmor-Unpacker A deobfuscator for PyArmor. 项目地址: https://gitcode.com/gh_mirrors/py/PyArmor-Unpacker PyArmor-Unpacker是一个专为Python开发者和安全研究人员…...

微信小程序登录总失败?从‘一次性code’到‘缓存清理’,这份避坑指南帮你全搞定

微信小程序登录全链路排雷手册&#xff1a;从原理到实战的深度解析 登录功能作为微信小程序用户体系的入口&#xff0c;其稳定性直接影响用户体验和业务转化。但在实际开发中&#xff0c;开发者常会遇到各种"诡异"问题——明明按照文档实现了流程&#xff0c;却频繁出…...

Xilinx UltraScale GT收发器实战:从时钟配置到8B/10B编码的避坑指南

Xilinx UltraScale GT收发器实战&#xff1a;从时钟配置到8B/10B编码的避坑指南 在高速数字系统设计中&#xff0c;Xilinx UltraScale系列FPGA的GT收发器是实现多Gbps数据通信的核心组件。然而&#xff0c;许多工程师在实际部署时会遇到时钟配置混乱、弹性缓冲区溢出等棘手问题…...

OpenClaw+GLM-4.7-Flash开发提效:日志分析+异常告警自动化

OpenClawGLM-4.7-Flash开发提效&#xff1a;日志分析异常告警自动化 1. 为什么需要自动化日志监控 作为开发者&#xff0c;我每天要面对服务器、应用和中间件产生的海量日志。曾经为了排查一个线上问题&#xff0c;我需要手动grep几十MB的日志文件&#xff0c;眼睛盯着屏幕找异…...

Emby Premiere完全免费解锁终极教程:简单三步享受高级媒体服务器功能

Emby Premiere完全免费解锁终极教程&#xff1a;简单三步享受高级媒体服务器功能 【免费下载链接】emby-unlocked Emby with the premium Emby Premiere features unlocked. 项目地址: https://gitcode.com/gh_mirrors/em/emby-unlocked 你是否曾经为Emby Premiere的高级…...

从RS-485到MQTT:手把手教你为BMS Modbus设备搭建物联网网关(Node-RED实战)

从RS-485到MQTT&#xff1a;手把手教你为BMS Modbus设备搭建物联网网关&#xff08;Node-RED实战&#xff09; 当工业现场的BMS设备还在使用Modbus-RTU协议时&#xff0c;如何让这些"信息孤岛"融入现代物联网架构&#xff1f;这个问题困扰着许多能源管理系统工程师。…...

WRF风场后处理实战:用Python+Cartopy绘制500hPa风场矢量图(附完整代码)

WRF风场后处理实战&#xff1a;用PythonCartopy绘制500hPa风场矢量图&#xff08;附完整代码&#xff09; 气象数据分析中&#xff0c;风场可视化是理解大气环流特征的关键环节。WRF&#xff08;Weather Research and Forecasting&#xff09;模式输出的数据包含丰富的三维风场…...