LoginSignup
1
0

More than 3 years have passed since last update.

Docker Hubにイメージをプッシュする

Posted at

こんにちは。
プログラミング初学者です。
ローカル環境でdockerの構築が終わり、railsでのアプリ作成を行っている最中です。
今更ながらDockerHubにイメージをプッシュしたので、備忘録的にまとめてみました。
また、色々参考記事とかみたのですが、私がみたものと今のDockerHubではUIが若干異なっているので、画像付きでまとめてみました。

概要

目的:DockerHubに自作のイメージをプッシュする。

DockerHubとは?

ユーザーが作成したコンテナをアップロードして公開・共有できるサービスで、ここで公開されているコンテナは自由にダウンロードして自分のサーバーに簡単にデプロイできる。公開されているコンテナは「リポジトリ」という単位で管理され、タグを使ったバージョン管理も可能だ。

参考記事: Dockerコンテナをクラウドサービス上で共有できる「Docker Hub」を使ってみる

前提条件

DockerHubのアカウント作成済み
・GitHubにリポジトリのプッシュ済み

実行

DockerHubとGitHubの連携。(実施済みは飛ばしてヨシ)

①トップページより自分のアカウントタブをクリックし、「Account Settings」へ遷移する。

Image from Gyazo

②左のメニューより「Linked Accounts」のタブをクリック。画面中央やや下に「GitHub」があり、その右の方にある「Connect」をクリック。

Image from Gyazo

③GitHubの画面へ遷移するので、パスワードを入力し、ログインする。
④再度DockerHubの先程の画面にリダイレクトされる。画像のように、コンセントマークの斜線と「Connect」の文字が消えていれば連携完了。

Image from Gyazo

DockerHubへイメージをプッシュ!

①トップページより青色背景に白文字の「Create Repository」をクリック

Image from Gyazo

②自分のDockerHubIDであることを確認の上、NameやDescriptionにイメージの名前、説明などを簡単に記載する。「Visibility」はお好みに合わせて、プライベートかパブリックを選択する。(DockerHub無料枠ではプライベートリポジトリの数に制限があるみたいなので注意。)

Image from Gyazo

③「Build Settings」にてGitHubを選択すると、自分のGitHubIDを選べ、その後自分がGitHubにプッシュしたリポジトリたちの中から、DockerHubにプッシュしたいリポジトリを選択することができる。

Image from Gyazo

④さらに「BUILD RULES +」をクリックすることで詳細の設定が可能。

デフォルトでは「Source Type」がBranchで、「Source」がmaster、「Docker Tag」がlatestで「Dockerfile location」がDockerfileとなっています
ここでは「Docker Tag」のlatest1.0に変更し、バージョンを番号で管理することとします。
また、「Dockerfile location」はGitHubにプッシュしているリポジトリの中に、ルートディレクトリにしっかりとDockerfileという名前でファイルを保存してあれば、変更しなくても大丈夫です。
Image from Gyazo

⑤では、「Create & Build」で実行しましょう!!

するとプッシュしたリポジトリのメイン画面へ遷移します。
その裏側ではBUILDが実行されています。(これには数分〜数十分の時間がかかる場合があります。)
「Builds」のタブに遷移し、下の方にAutomated Buildsの欄において、「Latest Build Status」がPENDINGとかIN PROGRESSであればビルド中です。
Image from Gyazo

SUCCESSになれば完了ですね!

⑤ビルドが完了すると、「General」タブよりプッシュしたものの詳細が閲覧できます。

「Tags and Scans」のTag1.0(これは先程指定したDocker Tagですね)を選択するとイメージレイヤーなどが閲覧できます。
Image from Gyazo

また、使用したGitHubのリポジトリ内にREADMEがあれば、それもこの「General」タブの下の方で閲覧ができます。すごい!
Image from Gyazo

これでプッシュ完了です。パブリックにしたことで全世界のユーザーがdocker pullコマンドであなたのプッシュしたdocker imageを入手することができちゃいます。

また、Dockerfileを変更するたびにプッシュしておくことで、バージョン管理ができ、GitHubのように万が一エラーが生じた時に戻したりするときに使えますね。ありがたや。

まとめ

ビルドに時間がかかって、「なぜかプッシュできてない??」とテンパってしまったので、備忘録的にまとめてみましたが、なんら難しい手順はありませんね。。。
ターミナルからでもdocker pushコマンドでプッシュしていけるので、これも簡単で良いですね。

ご覧いただきありがとうございました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0