こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
- Dockerイメージを作成する方法が知りたい
- DockerイメージをDockerHubに公開する方法が知りたい
Docker(ドッカー)とは?
Dockerとは、アプリケーションを素早く作成・実行・管理するためのプラットフォームを指します。
Dockerの概要について詳しく知りたい方はこちらの記事をご覧下さい。
【初心者向け】Dockerとは|仮想化技術との違い・基本的仕組み・できること
Dockerについて詳しく学習したい方向けに「Dockerとは?」「動作する仕組み」「仮想化技術としての位置付け」「使用メリット」 を解説します。
Dockerイメージの作成〜DockerHub公開までの手順
Dockerイメージを作成〜DockerHubにイメージを公開する際、次のような作業を行います。
- Dockerfileを作成
- Dockerfileをビルド(イメージ作成)
- イメージにタグ名を追加
- DockerHubにログイン
- DockerHubにイメージをプッシュ
- DockerHubの公開イメージを確認
【実践】Dockerイメージの作成〜DockerHub公開
DockerHubへのイメージ公開に至るまでの手順を1つずつ実践していきましょう!本記事では簡単な実践事例も交えて解説していきます。
Dockerfileを作成
Dockerfileとは、Dockerイメージを作成するためのファイルです。
Dockerfileの具体的な作成方法はこちらに整理しております。
【Docker】Dockerfileとは|書き方・コマンド一覧・イメージ作成手順を徹底解説
「Dockerfile」について知りたい方向けに「dockerfileとは」「コマンドの書き方」「作成方法」を詳しく解説します。
Dockerfileをビルド
指定のDockerfileをビルドしてDockerイメージを作成する場合、次のコマンドを利用します。
コマンド(ひな型)
docker build [OPTION] PATH
コマンド名 | 概要 |
---|---|
OPTION | オプションコマンド |
PATH | Dockerfileが保存されているパス |
【参考】よく利用するオプションコマンド
オプションコマンド名 | 概要 |
---|---|
-t | イメージ名を指定する |
-f | Dockerfileの名前を指定する |
コマンド(事例)
例えば、イメージ名にmy_image
、dockerfileが保存されているディレクトリとして/Users/Name/Desktop/dockerTest/
を指定する場合、次のように記述できます。
docker build -t my_image /Users//Desktop/dockerTest/
Dockerイメージにタグ名を付与
DockerイメージをDockerHubに公開する場合、命名規則に従ったタグ名を設定する必要があります。
コマンド(ひな型)
docker tag <SOURCE TAG NAME>[:TAG] <TARGET TAG NAME>[:TAG]
コマンド名 | 概要 |
---|---|
<SOURCE TAG NAME> | タグ付けしたいDockerイメージ名 |
<TARGET TAG NAME> | 追加したいタグ名 |
[TAG] | タグ名 |
【参考】タグ名の命名規則
Dockerイメージに指定するタグ名<TARGET TAG NAME>
は、DockerHubのアカウント名を含める形式で設定する必要があります。
<TARGET TAG NAME>[:TAG] = <USER NAME>/<IMAGE NAME>[:TAG]
コマンド名 | 概要 |
---|---|
<USER NAME> | Dockerアカウントに紐づくユーザー名 |
<IMAGE NAME> | イメージ名 |
[TAG] | タグ名 |
コマンド(事例)
前述でmy_image
というイメージを作成していたとします。
REPOSITORY TAG IMAGE ID CREATED SIZE
my_image latest 1234ccab1234 About an hour ago 139MB
my_image
をDockerHubのアカウントがabcd123
であるレポジトリに公開する場合、次のように記述し実行します。
docker tag my_image:latest abcd123/my_image:latest
DockerイメージにTag名が正しく付与されているか確認のために、コマンドにdocker images
と入力して実行しましょう。以下のように表示されれば問題なしです。
REPOSITORY TAG IMAGE ID CREATED SIZE
abcd123/my_image latest 1234ccab1234 About an hour ago 139MB
DockerHubへログイン
DockerHubにイメージをPushするために、コマンドプロンプト(WIndows)またはターミナル(Mac)を通じて事前にログインしておきます。次のように入力しましょう。
コマンド(ひな型)
docker login -u <USER NAME> -p <PASSWORD>
コマンド名 | 概要 |
---|---|
-u <USER NAME> | Dockerアカウントに紐づくユーザー名 |
-p <PASSWORD> | パスワード |
コマンド(事例)
DockerHubのアカウント名がabcd123
、パスワードが98765
の場合、次のように記述して実行します。
docker login -u abcd123 -p 98765
Login Succeeded
という出力結果が得られた場合、正しくDockerHubにログインできたと言えます。
DockerHubへイメージ公開
作成したイメージをDockerhubに公開します。次のコードを実行しましょう。
コマンド(ひな型)
docker push <IMAGE NAME>[:TAG]
コマンド(事例)
先ほどタグを付与したイメージをDockerHubに公開することとします。
REPOSITORY TAG IMAGE ID CREATED SIZE
abcd123/my_image latest 1234ccab1234 About an hour ago 139MB
abcd123/my_image
を公開する場合、次のようなコマンドを入力し、実行しましょう。
docker push abcd123/my_image:latest
DockerHubの公開イメージを確認
最後に、DockerHub上からRepositoriesを開き、前述でPushしたイメージが正しく公開されているか確認しましょう!
【参考】Docker関連記事・おすすめ学習法
【厳選】Dockerの学習におすすめの教材
Dockerについて詳しく学習したいという方向けにおすすめの教材をご紹介します。厳選した教材をこちらにまとめていますため併せてご覧下さい。
Docker・Kubernetesの学習におすすめ入門本・動画教材7選|マイクロサービス基盤「コンテナ」の理解促進
次世代のアプリケーションアーキテクチャとして注目度の高いマイクロサービスの基盤であるコンテナ技術Dockerおよびコンテナオーケストレーション技術のKubernetesについて詳しく学びたい方向けに、厳選したおすすめ教材を紹介します。
Docker関連記事一覧
当サイトではDockerに関する記事を多数投稿しています。是非ご覧ください。
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら