📐

ghcr.io docker container registry 個人利用方法

2024/12/24に公開

GitHub Container Registry(ghcr.io)にDockerイメージをpushする手順 #DockerHub - Qiita と同じような内容。詳しく知りたい人はそっちのほうがいいかも。

以下にデモを短く書く。


  • 前提: Macを使う。Docker Desktop が起動していて docker コマンドが利用できること。
  • なんでもいいので docker imageを用意する。今回は以下の手順で ghcr.io/hoshinotsuyoshi/busybox というイメージをこしらえる。 hoshinotsuyoshi は 私のGitHubのアカウント名。
# なんでもいいが 有名な軽いイメージを pullする
$ docker pull busybox

# タグを付ける
$ docker tag busybox ghcr.io/hoshinotsuyoshi/busybox
  • https://github.com/settings/tokens/new で New personal access token(classic)を生成する。 docker pushしたいので write:packages を選択する
  • 作ったtokenをクリップボードにコピーして docker loginする。
$ pbpaste | docker login ghcr.io -u hoshinotsuyoshi --password-stdin
Login Succeeded

(もしくは以下の"ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" の部分を置き換える)

$ echo "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" | docker login ghcr.io -u hoshinotsuyoshi --password-stdin
Login Succeeded
  • pushする
$ docker push ghcr.io/hoshinotsuyoshi/busybox

そうすると 自分のGitHubのページの packagesタブのところに現れる。具体的には自分の場合は
https://github.com/hoshinotsuyoshi?tab=packages のところにいまpushしたimageが現れる。

必要に応じて Change package visibility から private -> public化が行える。

Discussion