一、本地构建并推送镜像


1. 登录GitHub Container Registry


首先,需要登录到GitHub Container Registry (GHCR):

# 使用个人访问令牌(PAT)登录
docker login ghcr.io -u 你的GitHub用户名 -p 你的个人访问令牌

注意:你需要在GitHub上创建一个具有 read:packages 、 write:packages 和 delete:packages 权限的个人访问令牌。

2. 构建Docker镜像


在项目根目录(包含Dockerfile的目录)执行:

# 构建镜像
docker build -t ghcr.io/你的GitHub用户名/your-image-name:版本号 .

3. 推送镜像到GitHub

# 推送镜像
docker push ghcr.io/你的GitHub用户名/your-image-name:版本号

4. 设置镜像权限


推送后,前往GitHub仓库的 Packages 标签页,找到你的镜像包,点击进入后在 Package settings 中设置访问权限。如果需要公开访问,选择 Public ;如果需要私有访问,选择 Private 。

二、在生产环境拉取使用


1. 如果镜像是公开的


修改 docker-compose.yml 文件,将 app 服务的 build 部分替换为 image :

app:image: ghcr.io/你的GitHub用户名/your-image-name:版本号container_name: your-container-namerestart: always# 其他配置保持不变

2. 如果镜像是私有的

a. 在生产服务器上登录GitHub Container Registry

docker login ghcr.io -u 你的GitHub用户名 -p 你的个人访问令牌

b. 修改docker-compose.yml文件

app:image: ghcr.io/你的GitHub用户名/your-image-name:版本号container_name: your-container-namerestart: always# 其他配置保持不变

3. 启动服务

docker-compose up -d

三、自动化构建与部署(可选)


你可以使用GitHub Actions自动构建和推送Docker镜像。在项目根目录创建 .github/workflows/docker-build.yml 文件:

name: Build and Push Docker Imageon:push:branches: [ main ]tags: [ 'v*' ]jobs:build:runs-on: ubuntu-lateststeps:- name: Checkout codeuses: actions/checkout@v2- name: Set up Docker Buildxuses: docker/setup-buildx-action@v1- name: Login to GitHub Container Registryuses: docker/login-action@v1with:registry: ghcr.iousername: ${{ github.repository_owner }}password: ${{ secrets.GITHUB_TOKEN }}- name: Build and pushuses: docker/build-push-action@v2with:context: .push: truetags: |ghcr.io/${{ github.repository_owner }}/your-image-name:latestghcr.io/${{ github.repository_owner }}/your-image-name:${{ github.ref_name }}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/94042.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/94042.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/94042.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DP-v2.1-mem-clean学习(3.6.8-3.6.8.1)

3.6.8 lttpr非透明模式下的链路训练 3.6.8.1 支持8b/10b链路层训练规范 ‌默认透明模式‌ 若上游设备未启用LTTPR非透明模式(Non-transparent),需在链路训练前将DPCD F0003h寄存器写入默认值55h38 ‌非法中继器计数值处理‌ 当DPCD F0002h(PHY_REPEATER_CNT)返回值非有…

kali安装maven

kali安装maven 下载maven的安装包 wget https://dlcdn.apache.org/maven/maven-3/3.9.11/binaries/apache-maven-3.9.11-bin.tar.gz 注意可能返回404,这是因为官网已经更新了版本,这种情况可以自己访问https://dlcdn.apache.org/maven/maven-3查看一下最…

GEO优化:品牌营销新战场的光明与荆棘

在AI重塑信息获取方式的今天,一种名为GEO(生成式引擎优化)​的策略正悄然成为企业营销版图的新坐标。它不追求传统搜索引擎中的链接排名,而是争夺生成式AI(如ChatGPT、DeepSeek等)答案中的“话语权”——让…

牛客 - 旋转数组的最小数字

描述 有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问,给定这…

1分钟临时共享空间在线小工具实现

运行效果:1分钟临时共享空间 - 免注册即时文件文本共享工具 | 极速传 直接上代码: using Microsoft.AspNetCore.Mvc; using SaaS.OfficialWebSite.Web.Utils; using ZXing.QrCode; using ZXing; using SkiaSharp; using ZXing.SkiaSharp.Rendering; usin…

操作系统-lecture5(线程)

进程的缺点 在创建了子进程的时候,得到了可以并发执行的好处 但创建了进程资源会造成浪费 线程的引入 在同一个进程中有这样两个执行流,为并发执行的,称之为线程 这里引用下《操作系统概念》中的线程概述 任务举例 在复制的过程中&#xf…

FPGA kernel 仿真器调试环境搭建

参考:haps阶段说明2:kernel运行和调试 1 仿真器加载FIT及调试步骤 由于使用仿真器,就要额外配置DS-5的软件环境,有些步骤略复杂,请仔细按照说明操作。 1.1 导入kernel工程 不导入可以运行,但导入方便调试 file——-import 导入后的工程如图 1.2 创建debug 使用attach方…

MySQL(173)MySQL中的存储过程和函数有什么区别?

在MySQL中,存储过程(Stored Procedures)和函数(Functions)是两种用于封装可重用SQL代码的机制。尽管它们在很多方面类似,但仍有一些重要的区别。以下是对存储过程和函数的详细解释,以及如何在My…

可计算存储(Computational Storage)与DPU(Data Processing Unit)的技术特点对比及实际应用场景分析

以下是对可计算存储(Computational Storage)与DPU(Data Processing Unit)的技术特点对比及实际应用场景分析,结合引用资料进行综合说明:一、技术核心对比维度可计算存储DPU核心差异定位存储设备内置计算能力…

rag学习-以项目为基础快速启动掌握rag

rag从0到放弃黄帝内经rag问答系统RAG 项目版本迭代总览各版本技术细节如何使用黄帝内经rag问答系统 本项目使用爬虫获取了皇帝内经全文以此为数据构建检索增强系统 本项目以一个系统的多层迭代不断更新优化技术,由浅入深逐渐理解rag原理及优化技术 话不多说github…

linux 启动流程?

linux 启动流程 CPU 上电后最先执行的启动代码,通常确实是放在 arch 目录下对应架构的启动文件里。这是因为启动代码强相关于 CPU 架构和硬件细节,不同架构差异非常大。具体说明 1. 为什么启动代码放在 arch 目录? 启动代码要设置 CPU 状态&a…

《Kubernetes部署篇:基于Kylin V10+ARM64架构CPU使用containerd部署K8S 1.33.3集群(多主多从)》

总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:企业级K8s集群运维实战 一、架构图 如下图所示: 二、环境信息 基于x86_64+aarch64架构使用containerd部署K8S 1.33.3集群资源合集(三主多从) 2、部署规划 云平台 主机名 K8S版本 系统版本 CPU架构…

Docker 镜像打包为 ZIP 文件便于分享和转发

网上找到的记录一下方便下次看步骤详解1. 将镜像导出为 TAR 文件Docker 提供了 docker save 命令,可以将镜像导出为 .tar 文件。使用以下命令:docker save -o dify.tar dify说明:docker save:导出镜像为文件。-o dify.tar&#xf…

一对一交友小程序 / APP 系统架构分析

一对一交友小程序 / APP 系统架构分析一、引言在数字化社交的大背景下,一对一交友小程序和 APP 为人们拓展社交圈提供了便捷途径。合理且高效的系统架构是保障此类应用稳定运行、提升用户体验的基石。本文将深入剖析一对一交友小程序 / APP 的系统架构,涵…

Anthropic最新研究Persona vector人格向量

今天本来就想更一期强化学习,但是突然看了Anthropic的persona vector,所以又来写这一篇,因为我觉得这个很有价值以往我们玩LLM比较怕的事就事他乱说话作为概率模型,它能说对,它也能乱编,乱编轻症就是所谓的…

Spring AI集成Elasticsearch向量检索时filter过滤失效问题排查与解决方案

使用vectorStore.similaritySearch遇到问题 最近需要做一个功能,用到了es做向量数据库。在使用vectorStore.similaritySearch查询的时候,发现filterExpression中加的条件并没有完全生效,导致查询出来的数据不准确,出现了不符合me…

安灯系统(Andon System)

安灯系统是源自丰田生产系统(TPS)的一种可视化生产管理工具,其名称"Andon"来自日语的"提灯",原指用于报警的灯笼,现已成为制造业现场管理的核心工具之一。一、安灯系统的定义安灯系统是一种实时监控生产异常的可视化管理…

MyBatis与MySQL

要理解 MyBatis 语法及其与 MySQL 的区别,首先需要明确两者的本质定位:MyBatis 是 Java 的持久层框架(负责 Java 对象与数据库数据的映射),而MySQL 是关系型数据库管理系统(负责数据的存储和 SQL 执行&…

Vulnhub Noob靶机复现(附提权)

一、安装靶机 下载地址:https://download.vulnhub.com/noob/Noob.ova 下载好后使用VM打开配置如下。 二、主机发现 使用nmap扫描确认靶机ip(192.168.29.138) nmap -sn 192.168.29.1/24 三、端口扫描 使用nmap工具扫描全部端口以防遗漏。 nmap -A -p- 192.168.…

文心4.5开源测评:国产大模型的轻量化革命与全栈突破

> 当算力成本成为AI落地的最大拦路虎,一款仅需2.1GB显存、支持32K上下文的轻量级大模型如何撬动产业智能化的大门? ^ - ^ 2025年6月30日,百度正式开源文心大模型4.5系列,以**10款全维度模型矩阵**(0.3B至424B参数)刷新国产开源模型的技术边界。这不仅是参数规模的跃进…