重磅!GitHub 推出容器镜像仓库服务!

共 3315字,需浏览 7分钟

 ·

2020-09-07 06:52


微软收购了 GitHub 之后,并没有破坏 GitHub 的中立性,而是不断给开发者带来惊喜,从 GitHub Actions,到 GitHub Package Registry[1],Github 依旧是原来的那个 GitHub。

自从 GitHub Package Registry[2] 发布以来,已经有数亿个包被下载,其中 Docker 是仅次于 npm 的第二大流行的包管理工具,用户越来越倾向于使用容器、Kubernetes 和其他云原生技术来管理应用的生命周期。

虽然 GitHub Packages 已经为我们提供了强大的软件供应链的可追溯性,但在开发体验方面还做的不够好。现在 GitHub 单独推出了容器镜像仓库服务(GitHub Container Registry),改善了 GitHub Packages 对容器支持的不足,准备向 Docker Hub[3] 发起挑战。

GitHub 容器镜像仓库服务提供了公共镜像和私有镜像,和 Docker Hub 一样,公共镜像是免费的,可以匿名拉取。私有镜像现阶段(测试阶段)是免费的,正式上线后将和 GitHub Package Registry 采用相同的定价模式。

另外,GitHub 容器镜像仓库服务的域名是 ghcr.io,不知道 gcr.io 会作何感想。


如果你无法拉取 gcr.io 的镜像,可以在公众号后台回复 gcr 获取镜像加速服务。


下面来教大家如何登陆 GitHub 容器镜像仓库服务:

创建 token

① 在 GitHub 任何页面的右上角,单击你的头像,然后单击 Settings

② 在左侧边栏中,单击 Developer settings

③ 在左侧边栏中,单击 Personal access tokens

④ 单击 Generate new token

⑤ 输入 token 名称

⑥ 选择 read:packages 以下载容器镜像,读取元数据;选择 write:packages 以下载上传容器镜像,读取写入元数据;选择 delete:packages 以删除容器镜像。

登录镜像仓库

将之前创建的 token 保存为环境变量:

export CR_PAT=YOUR_TOKEN

登录镜像仓库,用户名使用 GitHub 的用户名:

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

然后就可以愉快地 push 私有镜像了。你也可以选择将 GitHub Actions 中的 registry 换成 ghcr.io,享受 GitHub 带来的一条龙服务,例如:

name: ci
on:
  push:
    branches: master
jobs:
  login:
    runs-on: ubuntu-latest
    steps:
      -
        name: Checkout
        uses: actions/checkout@v2
      -
        name: Login to GitHub Package Registry
        uses: docker/login-action@v1
        with:
          registry: ghcr.io
          username: ${{ github.repository_owner }}
          password: ${{ secrets.GHCR_TOKEN }}

最后,GitHub 容器镜像仓库服务未来还计划支持更多的云原生功能,包括 Helm 应用商店以及支持除了 Docker 镜像之外的其他类型存储。

Hacker News 的某位读者评论一语道破天机:如果微软推出容器服务,有些人是不会买的。但是,GitHub 的容器服务,他们就会买。我认为,这就是微软收购 GitHub 的部分原因。

参考资料

[1]

GitHub Package Registry: https://github.com/features/packages

[2]

GitHub Package Registry: https://github.com/features/packages

[3]

Docker Hub: https://hub.docker.com/


往期推荐

Upwork 发布最赚钱的编程语言 Top 15

一次微服务与IoT的深度探秘与实战

又有一个霸榜的 Linux 神器

来深入了解一下 Eureka 的工作机制及相关原理

基于 Spring Boot 的车牌识别系统(附项目地址)

分布式事务、分布式锁、分布式session


更多关于云原生相关资讯

推荐关注


浏览 54
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报