演習 - マイクロサービス イメージを Docker Hub にプッシュする

完了

Kubernetes を使用してコンテナー イメージを作成するには、それを取得する場所が必要です。 Docker Hub は、Docker イメージをアップロードするための中心的な場所です。 Kubernetes を含む多数の製品では、Docker Hub のイメージに基づいてコンテナーを作成できます。

Note

この演習は、Docker.NET SDK がプレインストールされている GitHub Codespace で完了します。 独自の開発環境でこれらの手法を使用する場合は、これらの前提条件がインストールされていることを確認してください。

開発環境を開く

演習をホストする GitHub codespace を使うか、Visual Studio Code でローカルで演習を完了するかを選択できます。

codespace を使用するには、この codespace 作成リンクを使用して、事前構成済みの GitHub codespace を作成します。

GitHub で codespace が作成され構成されるまで、このプロセスには数分かかります。 完了したら、このモジュールの残りの部分で使用されるコードは /dotnet-kubernetes ディレクトリにあります。

Visual Studio Code を使用するには、ローカル コンピューターに https://github.com/MicrosoftDocs/mslearn-dotnet-cloudnative リポジトリをクローンします。 その後、以下を実行します。

  1. Visual Studio Code で Dev Container を実行するためのシステム要件をインストールします。
  2. Docker が動作していることを確認します。
  3. 新しい Visual Studio Code ウィンドウで、クローンされたリポジトリのフォルダーを開きます
  4. Ctrl+Shift+P キーを押して、コマンド パレットを開きます。
  5. 検索: >Dev Containers:コンテナーでリビルドして再度開く
  6. ドロップダウンから eShopLite - dotnet-kubernetes を選択します。 Visual Studio Code により、ローカルで開発コンテナーが作成されます。

codespace にコンテナーを作成して Docker イメージを確認する

Contoso Shop プロジェクトには 2 つのコンテナーがあります。 Docker Hub にイメージをプッシュする前に、それらを使用して codespace にコンテナーを作成しましょう。 コンテナーが作成され、実行された後、Contoso 社の Web サイトを閲覧し、マイクロサービスが問題なく動作していることを確認できるようになります。

codespace で Docker コンテナーを作成して実行するには、これらの手順に従います。

  1. [ターミナル] タブに切り替え、次のコマンドを実行してコードのルートに移動します。

    cd dotnet-kubernetes
    
  2. 次のコマンドを実行して、コンテナーを構築します。

    dotnet publish /p:PublishProfile=DefaultContainer
    

    コンテナーの構築にはしばらく時間がかかる場合があります。

  3. 次のコマンドを実行してアプリを実行し、コンテナーをアタッチします。

    docker compose up
    
  4. フロントエンド サービスをテストするには、[ポート] タブに切り替え、[フロントエンド] ポートのローカル アドレス の右側にある地球アイコンを選択します。 ブラウザーにホームページが表示されます。

  5. [製品] を選択します。 カタログには Contoso の商品が示されます。

  6. Web サイトを閉じ、[ターミナル] タブに戻り、CTRL + C キーを押します。Docker Compose によってコンテナーが停止されます。

Docker Hub にサインインする

イメージを Docker Hub にアップロードする次のステップは、Docker Hub にサインインすることです。 コマンド プロンプトに次を入力します。

docker login

重要

ご自分の Docker アカウントを作成したときと同じユーザー名とパスワードを使用します。 必要に応じてパスワードをリセットする場合は、Docker Hub の Web サイト にアクセスします。

イメージを Docker Hub にアップロードする

  1. 次のコードを入力して、ご自分の Docker ユーザー名で作成した Docker イメージのタグを変更するか、名前を変更します。

    docker tag store [YOUR DOCKER USER NAME]/storeimage
    docker tag products [YOUR DOCKER USER NAME]/productservice
    
  2. そして最後に、Docker Hub に Docker イメージをアップロード (プッシュ) します。

    docker push [YOUR DOCKER USER NAME]/storeimage
    docker push [YOUR DOCKER USER NAME]/productservice
    

    認証エラーが発生した場合は、docker logout を実行してから docker login を実行して再認証できます。

この演習では、Dockerfile と Docker Compose を使用して 2 つの Docker イメージとコンテナーを作成し、それらのイメージを Docker Hub にプッシュしました。

これで、Kubernetes を使用して Contoso のマイクロサービスのデプロイを管理する準備が整いました。