山pの楽しいお勉強生活

勉強の成果を垂れ流していきます

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をサポートしています。(詳細は公式ページ参照

手順

基本的に公式ドキュメント通りです。

  1. トークンの作成
  2. docker login
    • docker login docker.pkg.github.com -u USERNAME -p TOKEN
    • 例 : docker login docker.pkg.github.com -u yamap55 -p 8982f91d09e95dda471d67ff9f68408eed9adc8c
  3. 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 .
  4. 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
  5. 確認

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

参考