【github】使用github action 拉取国外docker镜像

这篇具有很好参考价值的文章主要介绍了【github】使用github action 拉取国外docker镜像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用github action 拉取国外docker镜像

  • k8s部署经常用到国外镜像,如果本地无法拉取可以考虑使用github action环境
    • github action的ci服务器在国外,不受中国防火墙影响
    • github action 自带docker命令
    • 运行时直接将你仓库代码拉取下来

步骤

  • 你的国内docker仓库,拿到docker login的命令(这个根据不同的云获取,建议不要用dockerhub)
    【github】使用github action 拉取国外docker镜像,github,github,docker,容器

  • 新建一个github的仓库

  • 创建文件 .github/workflows/docker-build.yml文章来源地址https://www.toymoban.com/news/detail-823544.html

name: Docker Build

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - name: Log in to Docker Hub
        run: docker login xxx; bash github_push_docker.sh
  • 上面是github action的流水线,docker login 指令请自行替换
  • 然后请在项目根路径创建 github_push_docker.sh ,内容如下
#!/bin/bash

pull_registry="gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd" # 目标仓库
push_registry="你的云/你的仓库" # 例子:swr.cn-south-1.myhuaweicloud.com/myrepo
image1="controller:v0.56.0@sha256:fc5669e1bbabbf24b0ee4591ff20793643d778942e91ae52b3f7cca26d81a99b"
image2="nop:v0.56.0@sha256:4e627be53f78f30f73084ea0695d97397930d6f12d4cfab28d97b1aa57842881"
images=($image1 $image2)

for i in "${!images[@]}"
do
    image=`echo ${images[$i]} | awk -F'@' '{print $1}'`
    docker pull ${pull_registry}/${image}
    docker tag ${pull_registry}/${image}  ${push_registry}/${image}
    docker images;
    docker push ${push_registry}/${image}
done
  • 注意:当前仓库任何代码变更都将触发流水线运行

github_push_docker.sh 的使用

  • pull的仓库(国外)请保持一致,结尾不要加 / 号
  • 镜像有多少个,就弄多少个变量。如: image1 、image2、 image3
  • 创建变量后加入 images 数组 images=($image1 $image2 $image3) ,模仿格式即可
  • 脚本自动处理 镜像 @ 后面的 sha值,因为当你使用sha值拉回来的镜像是没有tag的,你push就很麻烦了

总结

  • 这是基于github action的拉取镜像方式,本质就是运行了一个简单的脚本。理论上你可以用github的机器做任何事情,比如更复杂的cicd流程

到了这里,关于【github】使用github action 拉取国外docker镜像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Github Actions 推送代码构建 Docker 镜像并 push 到仓库

    解决 ci/cd 流程,在 推送代码到 github 时,github 的 action 能够自动构建代码并发布到镜像仓库,之后运行 docker-compose 文件,启动项目访问。 问题前置分析 目前比较流行的 ci/cd 解决方案为: github + jenkins Github/gitlab + jenkins + docker hub + Docker/K8s Github + docker hub + Docker/k8s 上述两种方

    2024年01月18日
    浏览(59)
  • K8S部署后的使用:dashboard启动、使用+docker镜像拉取、容器部署(ubuntu环境+gpu3080+3主机+部署深度学习模型)

    0、k8s安装、docker安装 参考:前两步Ubuntu云原生环境安装,docker+k8s+kubeedge(亲测好用)_爱吃关东煮的博客-CSDN博客_ubantu部署kubeedge  配置节点gpu: K8S调用GPU资源配置指南_思影影思的博客-CSDN博客_k8s 使用gpu 1、重置和清除旧工程:每个节点主机都要运行 2、部署新的k8s项目:

    2023年04月20日
    浏览(61)
  • 使用 GitHub Action 自动更新 Sealos 集群的应用镜像

    在 IT 领域,自动化无疑已成为提高工作效率和减少人为错误的关键。Sealos 作为一个强大的云操作系统,已经为许多企业和开发者提供了稳定可靠的服务。与此同时,随着技术不断发展,集成更多的功能和服务变得尤为重要。考虑到这一点,本文将介绍如何 利用 GitHub Action 来

    2024年02月08日
    浏览(43)
  • 手动拉取 Kubernetes kubeadm 使用的容器镜像

    使用kubeadmin 设置 Kubernetes 集群时,会使用一个 init 命令选项来设置 Kubernetes 控制平面。Kubernetes 有许多将在引导集群时使用的容器镜像。 在互联网访问不可靠的环境中,或者当您使用代理服务器时互联网访问受限,或者如果您的 Kubernetes 节点根本没有互联网访问权限,预拉要

    2024年02月13日
    浏览(37)
  • Pod详解(Pod使用、容器分类、镜像拉取和容器重启策略)

    目录 一、Pod基础概念 二、Pod两种使用方式 1.pause容器使得Pod中的所有容器可以共享两种资源:网络和存储 2.Kubernetes为什么设计这样的Pod概念和特殊组成结构? 三、Pod容器的分类 1.自主式Pod 2.控制器管理的Pod 四、Pod中的容器类型分3种 1.pause容器(基础容器/父容器/根容器) 2

    2024年02月10日
    浏览(50)
  • 记一次线上mysql出错:由于docker自动拉取最新mysql镜像导致mysql容器无法启动

    我随便写写,你们随便看看 环境背景:在docker中部署mysql镜像,通过portainer管理docker容器 简单说下过程:docker里mysql的时区没有设置,导致相差8小时,通过增加TZ=Asiz/Shanghai环境变量,然后重启容器来生效。结果重启的时候始终无法启动起来,后来发现是自动升级了mysql镜像版

    2024年02月07日
    浏览(56)
  • 使用containerd作为容器运行时拉取镜像的方法

    k8s v1.24版本后默认使用containerd作为容器运行时,很多镜像库使用的是 gcr.io ,国内可能无法成功拉取。接下来将通过搭建 Metrics Server 来演示该情况的解决方法。 components.yaml 我们需要使用 ctr 或者 crictl 来代替docker命令,但是 crictl 是没有类似 docker tag 功能的。当我们使用 ct

    2024年02月13日
    浏览(44)
  • 使用代理下载国外源registry.k8s.io镜像,并传到docker hub私有镜像库

    日常的生产开发中,免不了从国外拉取镜像,但有个问题,我们可能访问不到那个镜像源,因此需要使用代理 https://labs.play-with-docker.com 具体步骤 使用docker hub账号登录上述代理 执行pull下载你要的镜像 登录docker hub 创建一个仓库 在代理界面对下载的镜像打上tag 比如 在代理里

    2024年02月11日
    浏览(80)
  • 04.使用 github actions+docker 自动部署前后端分离项目 zhontai (.net core+vue)

    Github Actions是什么?是 GitHub 提供的一种持续集成/持续部署(CI/CD)工作流程自动化服务,助力项目的自动化构建、测试和部署。 依托于平台,本文将分享使用 GitHub Actions 完成对一个.Net Core+Vue 的前后端分离项目 zhontai 的构建,并使用 docker 部署到云服务器(阿里云) 经过一番尝

    2024年02月11日
    浏览(61)
  • docker harbor的安装使用以及镜像上传和拉取

            harbor是一个开源的容器镜像仓库,可用于存储和分发docker镜像。它提供了安全性、标签、注释、审核和访问控制等高级功能。 harbor旨在帮助用户管理和分发docker镜像,并使其更具可信度和可管理性。 下载并安装docker和docker compose,没有下载的可以看这篇文章dock

    2024年01月22日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包