重磅!GitHub 推出容器鏡像倉(cāng)庫(kù)服務(wù)!
更多精彩內(nèi)容可以訂閱我的博客:https://fuckcloudnative.io

微軟收購(gòu)了 GitHub 之后,并沒有破壞 GitHub 的中立性,而是不斷給開發(fā)者帶來驚喜,從 GitHub Actions,到 GitHub Package Registry[1],Github 依舊是原來的那個(gè) GitHub。
自從 GitHub Package Registry[2] 發(fā)布以來,已經(jīng)有數(shù)億個(gè)包被下載,其中 Docker 是僅次于 npm 的第二大流行的包管理工具,用戶越來越傾向于使用容器、Kubernetes 和其他云原生技術(shù)來管理應(yīng)用的生命周期。
雖然 GitHub Packages 已經(jīng)為我們提供了強(qiáng)大的軟件供應(yīng)鏈的可追溯性,但在開發(fā)體驗(yàn)方面還做的不夠好。現(xiàn)在 GitHub 單獨(dú)推出了容器鏡像倉(cāng)庫(kù)服務(wù)(GitHub Container Registry),改善了 GitHub Packages 對(duì)容器支持的不足,準(zhǔn)備向 Docker Hub[3] 發(fā)起挑戰(zhàn)。
GitHub 容器鏡像倉(cāng)庫(kù)服務(wù)提供了公共鏡像和私有鏡像,和 Docker Hub 一樣,公共鏡像是免費(fèi)的,可以匿名拉取。私有鏡像現(xiàn)階段(測(cè)試階段)是免費(fèi)的,正式上線后將和 GitHub Package Registry 采用相同的定價(jià)模式。
另外,GitHub 容器鏡像倉(cāng)庫(kù)服務(wù)的域名是 ghcr.io,不知道 gcr.io 會(huì)作何感想。
如果你無法拉取 gcr.io 的鏡像,可以在公眾號(hào)后臺(tái)回復(fù)?gcr?獲取鏡像加速服務(wù)。
下面來教大家如何登陸 GitHub 容器鏡像倉(cāng)庫(kù)服務(wù):
創(chuàng)建 token
① 在 GitHub 任何頁(yè)面的右上角,單擊你的頭像,然后單擊 Settings。

② 在左側(cè)邊欄中,單擊 Developer settings。

③ 在左側(cè)邊欄中,單擊 Personal access tokens。

④ 單擊 Generate new token。

⑤ 輸入 token 名稱

⑥ 選擇 read:packages 以下載容器鏡像,讀取元數(shù)據(jù);選擇 write:packages 以下載上傳容器鏡像,讀取寫入元數(shù)據(jù);選擇 delete:packages 以刪除容器鏡像。

登錄鏡像倉(cāng)庫(kù)
將之前創(chuàng)建的 token 保存為環(huán)境變量:
$?export?CR_PAT=YOUR_TOKEN
登錄鏡像倉(cāng)庫(kù),用戶名使用 GitHub 的用戶名:
$?echo?$CR_PAT?|?docker?login?ghcr.io?-u?USERNAME?--password-stdin
>?Login?Succeeded
然后就可以愉快地 push 私有鏡像了。你也可以選擇將 GitHub Actions 中的 registry 換成 ghcr.io,享受 GitHub 帶來的一條龍服務(wù),例如:
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 容器鏡像倉(cāng)庫(kù)服務(wù)未來還計(jì)劃支持更多的云原生功能,包括 Helm 應(yīng)用商店以及支持除了 Docker 鏡像之外的其他類型存儲(chǔ)。
Hacker News 的某位讀者評(píng)論一語(yǔ)道破天機(jī):如果微軟推出容器服務(wù),有些人是不會(huì)買的。但是,GitHub 的容器服務(wù),他們就會(huì)買。我認(rèn)為,這就是微軟收購(gòu) GitHub 的部分原因。
參考資料
GitHub Package Registry: https://github.com/features/packages
[2]GitHub Package Registry: https://github.com/features/packages
[3]Docker Hub: https://hub.docker.com/


你可能還喜歡
點(diǎn)擊下方圖片即可閱讀

云原生是一種信仰??

掃碼關(guān)注公眾號(hào)
后臺(tái)回復(fù)?k8s?獲取史上最方便快捷的 Kubernetes 高可用部署工具,只需一條命令,連 ssh 都不需要!


點(diǎn)擊?"閱讀原文"?獲取更好的閱讀體驗(yàn)!
??給個(gè)「在看」,是對(duì)我最大的支持??

