GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

AzureDockerチュートリアル入門

このATAプロジェクトでは、AzureのDockerがどのように機能するかを垣間見ることができます。このAzureDockerチュートリアルでは、MicrosoftによるAzure Container Instance(ACI)サービスについて学習します。

Azure Container Instanceは、AzureDockerホスティングを介してホストされるKubernetesクラスターです。これにより、任意のDockerイメージ(WindowsおよびLinux)をデプロイし、コンテナーとして実行できます。各AzureDockerコンテナーは、独自に割り当てられたCPUとメモリを使用して、スタンドアロンコンテナーとして実行されます。

このプロジェクトでは、AzureパブリッククラウドでのMicrosoftのサンプルASP.NETコンテナーイメージに基づいて、最初のAzureコンテナーインスタンスをデプロイして実行する方法を学習します。

このプロジェクトが終了するまでに、AzureContainerInstanceサービスによってホストされるDockerコンテナーでASP.NETWebサイトが実行されるようになります。

環境と知識の要件

このAzureDockerチュートリアルを最大限に活用するには、次のものが必要です。

  1. DockerDesktopがインストールされているローカルのWindows10クライアント。
  2. MicrosoftAzureアカウント
  3. コンテナーをAzureContainerRegistryにデプロイするためのアクセス許可を持つAzureアカウントへのアクセス
  4. WindowsAzureCLIがインストールされています。コマンドラインから学習します。
  5. コンテナとDockerの初心者の理解。
  6. 登録済みのDockerID。

このAzureDockerチュートリアルで選択した例が気に入らない場合は、DockerHubでいつでも別のコンテナーイメージを使用できます。

面倒なことはせずに、このプロジェクトの構築に取り掛かりましょう!

Dockerコンテナの実行

後で何かが機能していないときのフラストレーションを避けるために、常に最初にDockerエンジンが実行されていることを検証してください。これを行うには、コマンドプロンプトまたはPowerShellセッションを開き、docker infoを実行します。 。

受け取るべき出力の種類を以下に示します。

Dockerコンテナーの起動を検証するには、docker run hello-worldを実行します。 。舞台裏ではdocker コマンドはいくつかのステップを実行します:

  1. hello-wordというコンテナを探します Windows10コンピューターでローカルに。
  2. 見つからない場合は、パブリックDocker Hubリポジトリにアクセスして、hello-worldという名前のコンテナの最新バージョンを探します。
  3. コンテナが見つかると、DockerHubリポジトリからダウンロードされます。
  4. ダウンロードされると、コンテナが起動され、コンテナが使用しているイメージ内に提供されている起動手順が実行されます。

以下に出力例を示します。

サンプルASP.NETコンテナーの開始

Dockerコンテナーをダウンロードして実行する方法がわかったので、このプロジェクト内で作業するコンテナーをダウンロードして実行します。このDockerコンテナーは、ASP.NetCoreWebアプリイメージです。

このAzureDockerチュートリアルのイメージをダウンロードするには、次のコマンドを実行します。

> docker run --name aspnetcore_sample --rm -it -p 8000:80 mcr.microsoft.com/dotnet/core/samples:aspnetapp

このコマンドは次のことを行います:

  1. Dockerイメージはローカルで利用できないため、Dockerは aspnetappというコンテナをダウンロードします。 mcr.microsoft.comにあるMicrosoftがホストする別のパブリックコンテナレジストリから dotnet / core / samples ディレクトリ。 mcr.microsoft.comコンテナレジストリはパブリックDockerHubに似ています ただし、Microsoftによって保守されており、Microsoftコンテナイメージのみをホストします。
  2. ローカルコンピューターでコンテナーを実行します。
  3. (-p 8000:80)–コンテナのリスニングTCPポート80をTCPポート8000​​にマップします。これにより、ポート8000​​でローカルにWebアプリにアクセスできます。
  4. (-it)–コンテナはインタラクティブに起動されます。つまり、起動するとすぐにコンソールに移動します。
  5. —rm )–コンテナが停止すると、削除されます。

期待できる出力を以下に示します。

6.ブラウザから、 http:// localhost:8000 にアクセスして、この実行中のコンテナアプリケーションに接続します。 。 ASP.NetサンプルWebアプリが表示されるはずです

Azure Container Registry(ACR)インスタンスの作成

ASP.NETコンテナーをローカルコンピューターにダウンロードしたら、それをACIを使用してAzure Dockerホスティングに移行し、このコンテナーをAzureで実行します。これを行うには、デモコンテナーをAzure Container Registry(ACR)にプッシュします。 ACRは、Azure内でDockerコンテナーを直接デプロイして実行できるようにするサービスです。

  1. Azureポータルにログインします。
  2. 上部のターミナルアイコンをクリックして、AzureCloudShellを起動します。

3.以下に示すようにBashシェルを選択していることを確認してください。

4. Azureリソースグループを作成して、az group createを使用してACRのインスタンスを配置します 以下のコマンド。

> az group create --name <RGname> --location <Azure Region of choice>

5.次に、az acr createを使用して、リソースグループ内にACRを作成します。 指図。以下に、admin-enabledを使用して基本SKUでACRを作成する例を示します。 パラメータをtrueに設定 。これはtrueに設定されています 後でリソース管理を実行できるためです。

> az acr create --resource-group <RGname> --name <ACRname> --sku Basic
 --admin-enabled true

完了すると、リソースグループ内でACRインスタンスが実行されているはずです。 Azure Dockerホスティングが救いの手を差し伸べます!

ACRインスタンスへのローカル接続

次に、Azure Cloud ShellからローカルのWindowsコンピューターに移動して、セットアップを完了する必要があります。

  1. ローカルマシンで、PowerShellまたは管理者権限を持つコマンドプロンプトを起動します。 PowerShellを使用します。
  2. az loginを実行して、AzureCLIでAzureを認証します 指示に従ってクレデンシャルを提供します。
  3. 認証に成功すると、認証したばかりのユーザーを示すJSON出力が表示されます。

4.次に、as acr loginを使用して、AzureCloudShellで作成したACRインスタンスに対して認証します。 以下のコマンドを使用してコマンドを実行します。以下に、 nopacr1というACRインスタンスに接続していることがわかります。 、Azureリソースグループ NOPRG

> az acr login --name <ACR-Name> --resource-group <RG Name>

Dockerイメージタグの更新

これで、ローカルDockerイメージをAzureDockerホスティングまたはACIのACRインスタンスにプッシュする準備が整いました。ただし、最初にACRの依存関係を満たす必要があります。 ACRインスタンスにプッシュされるすべてのDockerイメージには、イメージ名にACRインスタンスの名前が含まれている必要があります。

  1. コマンドdocker imagesを使用して、DockerイメージID番号またはイメージ名を検索します 。

2. docker tagを実行して、DockerイメージのDockerイメージタグを更新します。 以下に示すようなコマンド。命名規則に従っている場合は、 NOPACR1のACR名を使用してください。 タグをnopacr1.azurecr.io。として定義します。 画像自体には、 dotnetsampleという名前を使用します 。

> docker tag mcr.microsoft.com/dotnet/core/samples:aspnetapp <ACRName>.azurecr.io/<imagenameofchoice>

3. docker imagesを使用してタグが適用されていることを確認します もう一度コマンドします。これで、タグが更新されたことがわかります。

DockerイメージをACRインスタンスにアップロードして検証する

  1. 次に、docker pushを使用してローカルイメージをACRインスタンスにアップロードします 以下に示すコマンドは、ACRインスタンスが配置されているDNS名ラベルを提供します。
> docker push <ACRName>.azurecr.io/<nameofimage>

2.アップロードしたら、Azureポータルを使用してすべてのサービスに移動し、ACRインスタンスへのプッシュが正常に行われたことを確認します。 —>Azureコンテナレジストリ 以前に作成したACRインスタンスを選択します。

3.サービスの下の左側にあるブレードメニュー セクションで、リポジトリをクリックします 。 DockerイメージがACRインスタンスをプッシュしただけで、ここに表示されます。

4.画像をクリックすると、そのバージョンとその他の役立つ情報が表示されます。

Azureコンテナインスタンス(ACI)の実行

これで、ACRインスタンスが作成され、Dockerコンテナイメージに参照としてACR名がタグ付けされ、イメージがACRインスタンスにプッシュされました。次に、Azure Container Instance(ACI)を使用して、ACRインスタンスに格納されているDockerイメージを実行します。

  1. 前の手順に進み、最新の横にある[…]をクリックします 、[インスタンスの実行]を選択します 。これにより、コンテナインスタンスの作成が開きます。 ブレード。

2.コンテナインスタンスの作成のフィールドに入力します 次の情報を使用して下のボックス:

  • コンテナ名 –この実行中のコンテナに使用する任意の名前
  • OSタイプ – Linux(これはソースコンテナによって異なります。このプロジェクトで同じコンテナを使用している場合、これはWindowsである可能性があります。)
  • サブスクリプション –Azureサブスクリプション
  • リソースグループ –コンテナインスタンスを追加する既存または新規のAzureリソースグループ
  • 場所 –リソースグループに基づく

このAzureDockerチュートリアルASP.NETコンテナーでは、他のすべての設定を変更しないでおくことができます。実稼働環境では、実行中のコンテナーによっては、これらの設定を変更する必要がある場合があります。

3. OKを押します Containerインスタンスを作成します。
4.コンテナインスタンスがデプロイされると、次の例のようなページが表示されます。

5.展開が完了したら、すべてのサービスに移動して、ポータルでACIを開きます。 —>コンテナインスタンス 。ここで、作成したばかりのAzure Container Instance(ACI)を参照します。以下に示すインスタンスが表示されます。

6.右上隅のIPアドレスをコピーして、Webブラウザに貼り付けます。サンプルのASP.NETWebアプリは、Azure Container Instance(ACI)から読み込まれ、次のようなWebページが表示されます。

このコンテナを使い終わったら、az container deleteを使用できます。 コンテナを削除するコマンド。

結論

このAzureDockerチュートリアルでは、ACIとAzureがDockerイメージを格納する方法についての基本的な理解が得られたはずです。


Docker
  1. Zshの使用を開始する

  2. DockerコンテナにApacheを使用してModSecurityをインストールする

  3. lsの使用を開始する

  1. GnuCashの使用を開始する

  2. LinuxデスクトップでOKDを使い始める

  3. LinuxでPostgreSQLを使い始める

  1. Etcher.ioを使い始める

  2. Istioチュートリアル:IstioBasics入門

  3. Ubuntu16.04でLXDコンテナの使用を開始する