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

将本地构建的镜像推送到远程镜像库,构建多种系统架构支持的Docker镜像并推送到Docker Hub

目录

    • 推送到 Docker Hub
      • 前提:需要在 [Docker Hub](https://hub.docker.com/) 创建账户、创建仓库。
      • 1. 创建 Dockerfile 和构建镜像:`docker build -t`
      • 2. 登录到远程镜像库:`docker login`
      • 3. 将镜像标记为远程仓库地址:`docker tag`
      • 4. 推送镜像到远程仓库: `docker push`
      • 5. 拉取远程镜像:`docker pull`
    • 推送到 GitHub Package Registry 注册表(可关联GitHub仓库)
      • 前提:需要在GitHub创建个人访问令牌
      • 1. 创建 Dockerfile 和构建镜像: `docker build -t `
      • 2. 登录到远程镜像库:`docker login ghcr.io`
      • 3. 将镜像标记为远程仓库地址: `docker tag`
      • 4. 推送镜像到远程仓库: `docker push`
      • 5. 拉取远程镜像: `docker pull`
    • 构建多种系统架构支持的Docker镜像,推送到Docker Hub
      • 1. 编写支持多种系统架构的dockerfile文件
      • 2. 构建及推送命令:`docker buildx build -t`

推送到 Docker Hub

前提:需要在 Docker Hub 创建账户、创建仓库。

1. 创建 Dockerfile 和构建镜像:docker build -t

在本地项目目录中创建一个 Dockerfile,定义您的容器镜像配置。然后使用以下命令构建镜像:

 docker build -t your-image-name:tag .

将 your-image-name 替换为您的镜像名称,tag 替换为镜像标签。

2. 登录到远程镜像库:docker login

登录到您的远程镜像库

 docker login

3. 将镜像标记为远程仓库地址:docker tag

使用以下命令将本地构建的镜像标记为远程仓库地址:

docker tag your-image-name:tag your-docker-hub-username/your-repo-name:tag

4. 推送镜像到远程仓库: docker push

使用以下命令将标记后的镜像推送到远程仓库:

 docker push your-docker-hub-username/your-repo-name:tag

5. 拉取远程镜像:docker pull

docker pull your-username/your-image-name:tag

推送到 GitHub Package Registry 注册表(可关联GitHub仓库)

前提:需要在GitHub创建个人访问令牌

  • 在GitHub创建个人访问令牌:参考官方文档
  • 建议将令牌保存为环境变量
    $ vim ~/.zshr
    export CR_PAT=YOUR_TOKEN
    $ source ~/.zshrc
    

1. 创建 Dockerfile 和构建镜像: docker build -t

在本地项目目录中创建一个 Dockerfile,定义您的容器镜像配置。然后使用以下命令构建镜像:

docker build -t your-image-name:tag .

将 your-image-name 替换为您的镜像名称,tag 替换为镜像标签。

2. 登录到远程镜像库:docker login ghcr.io

登录到您的远程镜像库

docker login ghcr.io

或者使用环境变量中的令牌

 $ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin> Login Succeeded

3. 将镜像标记为远程仓库地址: docker tag

使用以下命令将本地构建的镜像标记为远程仓库地址:
替换 your-username 和 your-image-name 为您的 GitHub 用户名和镜像名称。

docker tag your-image-name:tag ghcr.io/your-username/your-image-name:tag#举例
docker tag xapi-backend-image:1.0.0 ghcr.io/xiaoxiongmao5/xapi-backend:1.0.0

4. 推送镜像到远程仓库: docker push

使用以下命令将标记后的镜像推送到远程仓库:

docker push ghcr.io/your-username/your-image-name:tag#举例
docker push ghcr.io/xiaoxiongmao5/xapi-backend:1.0.0

5. 拉取远程镜像: docker pull

 docker pull ghcr.io/your-username/your-image-name:tag

构建多种系统架构支持的Docker镜像,推送到Docker Hub

1. 编写支持多种系统架构的dockerfile文件

# syntax=docker/dockerfile:1.2FROM golang:1.20.8-alpine AS x86_64_builder# 设置工作目录
WORKDIR /appCOPY . .RUN go build -o funclist main.go# 使用 Alpine Linux 作为最终的基础镜像,这是一个轻量级的Linux发行版,通常用于构建小型Docker容器
FROM alpine:latest AS x86_64_final# 安装 GLIBC 和其他运行时库
RUN apk --no-cache add ca-certificates libc6-compatWORKDIR /appCOPY --from=x86_64_builder /app/funclist .EXPOSE 8000CMD ["./funclist"]FROM golang:1.20.8-alpine AS arm64v8_builderWORKDIR /appCOPY . .RUN go build -o funclist main.goFROM alpine:latest AS arm64v8_finalRUN apk --no-cache add ca-certificates libc6-compatWORKDIR /appCOPY --from=arm64v8_builder /app/funclist .EXPOSE 8000CMD ["./funclist"]

2. 构建及推送命令:docker buildx build -t

docker buildx build -t your-docker-hub-username/your-repo-name:tag --platform linux/amd64,linux/arm64 . --push
#举例
docker buildx build -t xiaoxiongmao5/funclist:1.0.1 --platform linux/amd64,linux/arm64 . --push

相关文章:

将本地构建的镜像推送到远程镜像库,构建多种系统架构支持的Docker镜像并推送到Docker Hub

目录 推送到 Docker Hub前提:需要在 [Docker Hub](https://hub.docker.com/) 创建账户、创建仓库。1. 创建 Dockerfile 和构建镜像:docker build -t2. 登录到远程镜像库:docker login3. 将镜像标记为远程仓库地址:docker tag4. 推…...

【技术分享】NetLogon于域内提权漏洞(CVE-2020-1472)

一、漏洞介绍 CVE-2020-1472是一个Windows域控中严重的远程权限提升漏洞。攻击者在通过NetLogon(MS-NRPC)协议与AD域控建立安全通道时,可利用该漏洞将AD域控的计算机账号密码置为空,从而控制域控服务器。该漏洞适用于Win2008及后…...

python学习之【模块】

前言 上一篇文章 python学习之【深拷贝】中学习了python中的深浅拷贝学习内容,这篇文章接着学习python中的模块。 什么是模块 在python中,一个文件(以“.py”为后缀名的文件)就叫做一个模块,每一个模块在python里都…...

dns电脑服务器发生故障怎么修复

DNS电脑服务器发生故障可能会导致网络连接问题、网页无法访问、或者电子邮件无法发送等情况。修复DNS电脑服务器故障可以采取多种方法,例如检查网络连接、更换DNS服务器等措施。当DNS电脑服务器发生故障时,可以采取以下修复措施: 尝试刷新DNS…...

Python项目Flask ipv6双栈支持改造

一、背景 Flask 是一个微型的(轻量)使用Python 语言开发的 WSGI Web 框架(一组库和模块),基于Werkzeug WSGI工具箱/库和Jinja2 模板引擎,当然,Python的WEB框架还有:Django、Tornado、Webpy,这暂且不提。 Flask使用BSD授权。 Flask也被称为microframework(微框架),F…...

hcia 目的mac为(单播 组播 广播)mac

从下往上看...

专栏十:10X单细胞的聚类树绘图

经常在文章中看到对细胞群进行聚类,以证明两个cluster之间的相关性,这里总结两种绘制这种图的方式和代码,当然我觉得这些五颜六色的颜色可能是后期加的,本帖子只总结画树状图的方法 例一 文章Single-cell analyses implicate ascites in remodeling the ecosystems of pr…...

linux查找命令使用的正则表达式

正则表达式是一种用于匹配和操作文本的强大工具,它是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本模式。 正则表达式可以在文本中查找、替换、提取和验证特定的模式。 一般的查找命令是:grep,sed,awk 元字…...

ffmpeg6.0编译(NDK)

ffmpeg 6.0 支持vulkan 需要手动安装Vulkan 并将include里面的vk_video 和 vulkan 拷贝到 android-ndk-r25c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/ vulkan 下载 cp -r vk_video $NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/…...

达观RPA实战-编码与解码

一、应用背景 项目中我们经常需要获取某个服务的JSON数据。如果响应返回的是JSON格式的数据,客户端通过JSON工具可正常解析。但如果碰到值里面有中文的,特别是返回的格式是类似“{"name": "\u5927\u7231\u4e2d\u56fd"}”处理起来会比较麻烦。本文将从编…...

配置Swagger开发环境有效,生产环境无效

安全扫描:通用信息泄漏【未授权访问ip:端口号/swagger-ui.html】 步骤一:配置启用变量【开发环境可用生产环境不可用】 application-dev.yml: swagger:enable: true application-pro.yml: swagger:enable: false 步骤二:根据配置变量控…...

Jmeter系列-线程组的执行顺序(10)

重点 每个测试计划至少需要有一个线程组 线程组下不同组件的执行优先级/顺序 1、配置元件、监听器 2、前置处理器 3、定时器 4、逻辑控制器 5、取样器 6、后置处理器 7、断言 取样器执行顺序 在没有逻辑控制器情况下,取样器是按从上往下的顺序执行的 参考文章…...

c# 面试题

简述 private、 protected、 public、 internal 修饰符的访问权限。 答: Private(拍非得) : 私有成员, 在类的内部才可以访问。 protected (普泰忒): 保护成员,该类内部和继承类中可以访问。 Publ…...

目录优先的图片库网站PiGallery2

什么是 PiGallery2 ? PiGallery2 是一个快速的目录优先的图片库网站,具有丰富的用户界面,针对在低资源服务器(尤其是树莓派)上运行进行了优化 所谓 目录优先 是指,这种网站的设计是以显示不同的目录&#x…...

17-垃圾回收相关概念

目录 一、System.gc()的理解二、内存溢出和内存泄漏2、内存泄漏 三、Stop the World1、什么是 stop the word ? 四、垃圾回收的并行和并发1、并发和并发2、垃圾回收的并行和并发 五、安全点与安全区域1、什么是安全点?2、安全区域 六、强引用(不可回收&…...

Ubuntu-server 22.04LTS源码编译apache服务器

1 系统环境 # cat /etc/os-release PRETTY_NAME"Ubuntu 22.04.3 LTS" NAME"Ubuntu" VERSION_ID"22.04" VERSION"22.04.3 LTS (Jammy Jellyfish)" VERSION_CODENAMEjammy IDubuntu ID_LIKEdebian HOME_URL"https://www.ubuntu.co…...

科技资讯|苹果虚拟纸可在Vision Pro中为广告、书籍等提供MR内容和动画

近日,美国专利商标局正式授予苹果一项与虚拟纸张相关的专利。这是与虚拟纸张这项发明相关的第二项专利,鉴于苹果 Vision Pro 将于明年上市,那么我们离苹果实现虚拟纸张的发明又近了一步。 虚拟纸张将能够包含 2D、3D 和动画等 MR内容&#…...

JavaScript-promise使用+状态

Promise 什么是PromisePromise对象就是异步操作的最终完成和失败的结果&#xff1b; Promise的基本使用&#xff1a; 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compati…...

xshell---git上传文件到gitee远程仓库配置

1.git下载 如果没有xshell下没有下载过git&#xff0c;可以参考这篇的教程&#xff1a;Linux配置安装 git 详细教程 下载后可以通过 git --version 查看git的版本号&#xff0c;验证是否安装成功 2.新建仓库 首先需要在gitee上注册一个账号 然后再主页面点击右上边框的 号…...

【GO语言基础】前言

系列文章目录 【Go语言学习】ide安装与配置 【GO语言基础】前言 【GO语言基础】变量常量 【GO语言基础】数据类型 文章目录 系列文章目录一、基础知识包和函数函数声明语法简洁性 括号成对出现GO常用DOS命令命名规则项目目录结构注释 总结 一、基础知识 包和函数 //声明本代…...

自制BLE112串口编程器:基于Bootloader的免调试器烧录方案

1. 项目概述&#xff1a;为BLE112模块打造一款免调试器的RS232编程器在嵌入式开发&#xff0c;特别是早期的蓝牙低功耗&#xff08;BLE&#xff09;模块应用中&#xff0c;我们常常会遇到一个棘手的问题&#xff1a;官方开发工具链的依赖和限制。以Silicon Labs&#xff08;当时…...

别再死记硬背Payload了!我用XSS-Game靶场,带你拆解18种过滤规则背后的绕过逻辑

从XSS-Game靶场实战中掌握18种过滤规则的逆向思维在网络安全领域&#xff0c;跨站脚本攻击&#xff08;XSS&#xff09;始终是Web应用面临的主要威胁之一。许多开发者虽然了解XSS的基本概念&#xff0c;但当面对各种复杂的过滤规则时&#xff0c;往往不知如何系统分析并构造有效…...

学术写作创新突破!2026全流程AI论文工具精选指南

2026 年 AI 论文写作工具已进入全流程闭环 学术合规时代&#xff0c;千笔 AI&#xff08;综合评分 99 分&#xff09;中文学术场景标杆&#xff1b;Grammarly Academic与Elicit为英文论文写作首选&#xff1b;按需求匹配度 - 数据可信度 - 成本承受力三维模型选型&#xff0c;…...

电信运营商每月处理海量工单,如何不再出错?基于AI Agent的端到端自动化解决方案

在2026年的电信行业&#xff0c;海量工单处理已不再仅仅是效率问题&#xff0c;而是合规与生存的底线。随着2026年5月20日《电信和互联网服务 基础电信企业网上营业厅服务规范》国家标准的正式实施&#xff0c;监管层对“信息透明、流程闭环、计费精准”的要求达到了前所未有的…...

WarcraftHelper终极指南:魔兽争霸3兼容性问题一站式解决方案

WarcraftHelper终极指南&#xff1a;魔兽争霸3兼容性问题一站式解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为《魔兽争霸3》在现代电…...

从无线破解到PDF解密:盘点那些容易被忽略的‘非主流’密码审计场景与工具

密码安全审计的隐秘战场&#xff1a;从无线网络到加密文档的实战指南 当大多数人谈论密码安全时&#xff0c;脑海中浮现的往往是服务器登录、数据库访问这些企业级场景。然而在数字生活的每个角落&#xff0c;从家庭Wi-Fi到工作文档&#xff0c;密码保护的脆弱性同样可能成为安…...

【C++】零基础入门 · 第 4 节:循环结构(while、for、do-while)

上一节我们学习了条件判断&#xff0c;这一节来学习循环结构。循环让程序能够重复执行某段代码&#xff0c;直到满足特定条件为止。C 提供了三种循环语句&#xff1a;while、for 和 do-while。 1. while 循环&#xff1a;先判断后执行 while 循环在每次执行前先检查条件&#x…...

8款网盘直链下载助手:彻底告别限速烦恼,实现高速下载自由

8款网盘直链下载助手&#xff1a;彻底告别限速烦恼&#xff0c;实现高速下载自由 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移…...

【独家首发】国内23家AI语音服务商最新报价数据库(含教育/医疗/金融行业专属折扣码及最小起订量红线)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;AI语音合成价格与性价比分析 AI语音合成&#xff08;TTS&#xff09;服务的定价模式日益多样化&#xff0c;从按字符/音频时长计费到订阅制、API调用包、企业定制方案并存。理解不同服务商的成本结构与实际输出…...

忆阻储层计算:预处理优化与硬件实现

1. 项目概述在当今人工智能快速发展的时代&#xff0c;神经形态计算正成为突破传统冯诺依曼架构瓶颈的重要方向。储层计算&#xff08;Reservoir Computing&#xff0c;RC&#xff09;作为一种特殊的循环神经网络架构&#xff0c;因其仅需训练输出层而显著降低了计算开销&#…...