目次

 

記事リンク

Step1: Docker Desktop環境構築

Step2: Blazor用Dockerfileの作成と実行

Step3: 今回の記事!

 

1. 概要

前回の記事(Blazor用Dockerfileの作成と実行)では、Blazor開発環境用のDocker imageの作成と実行確認までを完了しました。

今回は、前回作成したDocker imageをDocker Hubリポジトリへアップロードしておくことで、どのPC環境からでもDocker hub経由でコンテナを起動する方法について記載します。

これにより、別PC等での新規環境構築時、1コマンドで環境構築が可能となります。

 

2. 前準備

2.1. Docker Hubに登録する

まだアカウントを作っていない場合は、アカウント登録をして下さい。

https://hub.docker.com/

2.2. Docker imageの作成

前回の記事(Blazor用Dockerfileの作成と実行)でも行いましたが、念のため再掲します。

Docker fileを置いているディレクトリでbuild実行します。

docker build -t mtside01/blazor .

※このとき、-t(タグ)オプションで「docker hubアカウント名/作りたいリポジトリ名」としてタグ付けをしておきます。

※ コマンド最後の「.」により、生成するdocker imageの置かれるディレクトリを指定しています。「.」は現在作業しているディレクトリを意味します。

しばらくすると、buildが完了します。

docker build

Docker imageが生成されていることを確認します。docker imagesコマンドで現在生成されているdocker image一覧を確認出来ます。

docker images

※ このとき「REPOSITORY」および「TAG」欄の記載をメモしておいて下さい。Docker hubへのアップロード時に使用します。

 

3. ローカルからDocker imageをpushする

Docker HubにDocker imageをアップロードする方法としては、以下2通りあります。今回は、方法1で手っ取り早くアップロードを完了させます。

  1. ローカルからDocker imageをpushする
  2. Github連携

3.1. Docker Hubにログイン

docker loginコマンドにより、Docker Hubにログインを行います。 ガイドに従い、CLI上でDocker IDとパスワードを入力します。

docker login

ログインに成功すると、上記のようにLogin Succeededと表示されます。

3.2. Docker HubにDocker imageをpushする

docker pushコマンドでDocker HubにDocker imageをpushします。 上記Docker imagesで確認した「REPOSITORY:TAG」の記載により、pushしたいimageファイルを指定します。

docker push mtside01/blazor:latest

docker push

3.3. Docker Hubを確認する

Docker Hubにアクセスし、リポジトリを確認します。 成功すると、先程pushしたimage用のリポジトリが追加されているはずです。

docker hub repos

 

4. Docker Hub上のDocker imageからコンテナを起動する

4.1. コンテナの起動

上記までの作業により、目的の環境を構築するためのDocker imageをDocker Hub上にアップロード出来ました。

以降、別PC等で新規環境構築時を行う際は、以下のように「アカウント名/リポジトリ名」を指定してdocker runコマンドを実行するだけでコンテナを起動することが出来ます。

docker run -it --rm --name blazortest -p 8000:80 -v C:\blazor\dockerEnv\:/app -w /app mtside01/blazor

※ 上記コマンドにおける各オプションはそれぞれ以下を意味します。コマンド最後の「mtside01/blazor」は実行するdocker imageを指定しています。

  • -it: docker runされたコンテナ内でbashシェルを表示
  • -rm: コンテナ終了時、自動的に削除
  • --name: コンテナの名前指定
  • -p: ポートの指定
  • -v: 「ホスト側ソース:コンテナ側送信先」の指定
  • -w: コンテナ内の作業ディレクトリ指定

Docker Hubからimageを自動的にpullした後に、コンテナが起動されます。

docker hub repos

4.2. 現在起動しているコンテナの確認

念のため、docker psコマンドで現在立ち上がっているコンテナを確認しておきます。

※ 先程の-itオプションにより、ターミナル上ではコンテナ内のbashシェルが表示されている状態なので、別途ターミナルを開いて実行します。

docker ps

 

5. おわりに

今回まで3つの記事に渡り、Blazor開発環境構築を容易にするためのDocker利用方法(Docker Desktop環境、Docker file作成、Docker Hub利用)について記載しました。

Blazor以外にも、今回の手順を参考様々な開発環境に応用できるはずです。

この記事により、少しでも環境構築の煩わしさから開放されれば幸いです。

 

6. 参考