GitHub Package RegistryにDocker imageを格納する
公式のドキュメントでうまくいかなかったものの、検索しても記事がみつからなかったのでメモ。 (GitHub Actionsでのサンプルはいくつもあったが、手動でのサンプルがみつからなかった。)
※わかってる人なら特に記事にする事でもないので、サンプルがなかっただけという話。
GitHub Package Registryとは
この記事見ていてわからない人はいないかもですが一応記載。
GitHub Packages is a software package hosting service that allows you to host your software packages privately or publicly and use packages as dependencies in your projects.
https://help.github.com/en/github/managing-packages-with-github-packages/about-github-packages
GitHub Package Registryとはソフトウェアパッケージのホスティングサービスです。 2019年5月にβがはじまり、11/13?に正式版になりました。
2019/12/23現在ではnpm,gem,mvn,gradle,docker,dotcetをサポートしています。(詳細は公式ページ参照)
手順
基本的に公式ドキュメント通りです。
- トークンの作成
- https://github.com/settings/tokens/new
- 許可 : repo, write:packages, read:packages, delete:packages
- 参考ページ
- docker login
docker login docker.pkg.github.com -u USERNAME -p TOKEN
- 例 :
docker login docker.pkg.github.com -u yamap55 -p 8982f91d09e95dda471d67ff9f68408eed9adc8c
- docker build
docker build -t docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION PATH
- 例 :
docker build -t docker.pkg.github.com/yamap55/python_dev_env/dev-python:1.0 .
- docker push
docker push docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION
- 例 :
docker push docker.pkg.github.com/yamap55/python_dev_env/dev-python:1.0
- 確認
- https://github.com/USER_NAME/REPOSITORY_NAME/packages
- 例 : https://github.com/yamap55/python_dev_env/packages
- ある程度の時間(1時間程度?)がたたないとリポジトリのタブにpackageは表示されないようです
本来はリポジトリのタブに表示されるようですが、確認できませんでした。(設定?)
imageを使用する
- docker pull
docker pull docker.pkg.github.com/yamap55/python_dev_env/dev-python:1.0
- dockerfile
FROM docker.pkg.github.com/yamap55/python_dev_env/dev-python:1.0