以下の内容はhttps://kmuto.hatenablog.com/entry/2025/02/24/150500より取得しました。


Docker Hubがしんどくなりそうなのでghcr.ioにも置くようにした

@matsuuさんのポストより。

x.com

x.com

これはつらい。

最近業務でトレーシングハンズオンをした折に、配布のために魔改造Jaeger HotRODデモをDocker Hubに置いて使っていた。ハンズオンという性質上、受講者がDockerにアカウントを持っていることを前提にはできず、10回制限だとちょっと試行錯誤しただけでもひっかかりそうで危ない。

ということで、とりあえず今だと別のレジストリとしてGitHub Container Registry(ghcr.io)にも置いておくのがまぁまぁ順当だろう。

ghcr.ioに置くのは初めてなので、調べながらやっていく。

王道としてはGitHub ActionsでGITHUB_TOKENを使うのだが、Jaegerリポジトリをフォークしてexamplesだけ変更しているため、Actionsの設定をいじくるのは手間そうだ。そもそも滅多にイメージを更新する機会もないので、必要なときだけPersonal Access Tokenを払い出してイメージプッシュをすることにする。

GitHubのSettings→Developer Settingsと進み、Personal access tokens (classic)へ。本当はFine-grained tokensのほうがリポジトリを絞れてよいのだが、ghcr.io向けにはclassicでないとダメらしい。

Generate new tokens→Generate new token (classic)でトークン生成画面を開く。Noteにこのトークンの説明、Expirationに有効期限(使い切り前提なので短くてよい)。「write:packages」にチェックを入れる。これでほかのrepoなどにもチェックが自動で付く。

「Generate token」ボタンでトークンが作られ、一度だけ表示されるトークン文字列が示される。これをコピーして保存しておく。

このトークンを使ってログインする(ユーザー名はGitHubのユーザー名)。

docker login -u ユーザー名 ghcr.io
トークン文字列入力

または

cat トークン文字列保存ファイル | docker login -u ユーザー名 --password-stdin ghcr.io

HotRODイメージのビルドとレジストリプッシュはこれまでは以下のようにしていた。

docker buildx build --platform linux/amd64,linux/arm64 -t kenshimuto/hotrod:latest  --push .

ghcr.ioにプッシュするために以下のように変更。

docker buildx build --platform linux/amd64,linux/arm64 -t ghcr.io/kmuto/hotrod:latest  --push .

できたできた(hotrod latest)。デフォルトはprivateになっていたので、Package settingsでPublicに切り替えた。

参照しているdocker-compose.ymlなども変更する。

services:
  hotrod:
    image: ghcr.io/kmuto/hotrod:latest

次回の頃にはトークンが期限切れしているので、また生成からやることになる。そのときにはきっとこのメモを読み返すだろう……

ちなみにOpenTelemetry Collectorの場所がDocker HubとGitHub Container Registryでだいぶ違った。たとえばopentelemetry-collector-contribは以下のとおり。

  • Docker Hub:otel/opentelemetry-collector-contrib
  • GitHub Container Registry:ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib

なお、Re:VIEWのDockerイメージの「vvakame/review」はずっと昔からDocker Hubのほかにghcr.io/vvakame/reviewにもリリースしているのであった。さすわか。

(最近Re:VIEW本体の機能リリースないやんけ、と言われると、ハイ…)




以上の内容はhttps://kmuto.hatenablog.com/entry/2025/02/24/150500より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14