Dockerhubにアカウントを作成すると自分でBuidしたDockerイメージをリポジトリにpushすることができます。リポジトリのイメージはdocker pullで取得することができます。
Dockerhubは利用するけどアカウントは持っていない、という人は少なくないと思います。誰かが作った便利なイメージを取得するためだけにDockerhubを利用している人も多いのではないでしょうか。
それもよいのですが、リポジトリを持つことにもメリットがあります。まず自分のコンテナを世界中の様々な環境に瞬時に展開できるようになります。データセンタでもAWSでも同僚のPCでも一瞬です。大変、便利です。またコンテナ全盛の昨今、コンテナを公開するメリットや作成上の注意点を実感する意味でもよい勉強になります。
今回はDockerイメージをDockerhubにPushする方法を紹介します。
1. Dockerイメージを作成する
docker image build -t <イメージ名>:<タグ> . docker image ls
タグ名はlatestとすることが多いです。
2. 無駄がないか確認(任意)
docker image history <イメージ名>
イメージの各レイヤの情報が表示されます。どのレイヤがどの程度、ディスクを消費するかも確認できます。無駄なレイヤ、順序性が悪い箇所があればDockerfileを修正して再度、ビルドします。
3. スキャン(任意)
docker scan <イメージ名>
脆弱性の有無を確認します。
イメージをDockerhubにアップするということはそのイメージは他人に見られたり、利用されたりする可能性があります。作成者として安全性を確認しましょう。
4. イメージにDockerhub用のタグを付与する
docker image tag <image id> <アカウント名>/<リポジトリ名>:<タグ名>
このタグ名はlatestとすることが多いです。
5. Dockerhubのアカウントへログインする
docker login
6. Pushする
docker image push <アカウント名>/<リポジトリ名>:<タグ名>
docker searchに反映されなくても心配はいりません。問題なくdocker pullできます。