演習 - マイクロサービス イメージを 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 リポジトリをクローンします。 その後、以下を実行します。
- Visual Studio Code で Dev Container を実行するためのシステム要件をインストールします。
- Docker が動作していることを確認します。
- 新しい Visual Studio Code ウィンドウで、クローンされたリポジトリのフォルダーを開きます
- Ctrl+Shift+P キーを押して、コマンド パレットを開きます。
- 検索: >Dev Containers:コンテナーでリビルドして再度開く
- ドロップダウンから eShopLite - dotnet-kubernetes を選択します。 Visual Studio Code により、ローカルで開発コンテナーが作成されます。
codespace にコンテナーを作成して Docker イメージを確認する
Contoso Shop プロジェクトには 2 つのコンテナーがあります。 Docker Hub にイメージをプッシュする前に、それらを使用して codespace にコンテナーを作成しましょう。 コンテナーが作成され、実行された後、Contoso 社の Web サイトを閲覧し、マイクロサービスが問題なく動作していることを確認できるようになります。
codespace で Docker コンテナーを作成して実行するには、これらの手順に従います。
[ターミナル] タブに切り替え、次のコマンドを実行してコードのルートに移動します。
cd dotnet-kubernetes
次のコマンドを実行して、コンテナーを構築します。
dotnet publish /p:PublishProfile=DefaultContainer
コンテナーの構築にはしばらく時間がかかる場合があります。
次のコマンドを実行してアプリを実行し、コンテナーをアタッチします。
docker compose up
フロントエンド サービスをテストするには、[ポート] タブに切り替え、[フロントエンド] ポートのローカル アドレス の右側にある地球アイコンを選択します。 ブラウザーにホームページが表示されます。
[製品] を選択します。 カタログには Contoso の商品が示されます。
Web サイトを閉じ、[ターミナル] タブに戻り、CTRL + C キーを押します。Docker
compose
によってコンテナーが停止されます。
Docker Hub にサインインする
イメージを Docker Hub にアップロードする次のステップは、Docker Hub にサインインすることです。 コマンド プロンプトから、次のコマンドを入力します。
docker login
重要
ご自分の Docker アカウントを作成したときと同じユーザー名とパスワードを使用します。 必要に応じてパスワードをリセットする場合は、Docker Hub の Web サイト にアクセスします。
イメージを Docker Hub にアップロードする
次のコードを入力して、ご自分の Docker ユーザー名で作成した Docker イメージのタグを変更するか、名前を変更します。
docker tag store [YOUR DOCKER USER NAME]/storeimage docker tag products [YOUR DOCKER USER NAME]/productservice
そして最後に、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 のマイクロサービスのデプロイを管理する準備が整いました。