Closed1

GitHub CLIを使ってPAT無しでghcr.ioにログインする

hrkohrko

背景

GitHub PackagesのプライベートなコンテナレジストリからイメージをPull/Pushするには、GitHubアカウントで認証する必要があるが、公式のドキュメントでは、personal access token(PAT)を使う方法しか記載されていない。

社内向けのドキュメントにPATを使う方法を書くのはセキュリティ的に憚られるので、代替手段を探すことにした。

解決策

以下のコマンドはBash/ZshでもPowerShellでもそのままコピペで使える。

# まだログインしていなければ、ログインする
gh auth login

# パッケージ読み書きのスコープを付与(pullだけならread:packagesだけで良い)
gh auth refresh --scopes read:packages,write:packages

# Dockerエンジンに認証情報を渡す
gh auth token | docker login ghcr.io --username $(gh api user -q ".login") --password-stdin

参考

このスクラップは2024/11/13にクローズされました