Microsoft Azure Container Instances (ACI) での Docker Desktop Edge を使用したコンテナーの実行

今月初め、Dockerは Microsoftとのパートナーシップ を発表し、デスクトップとクラウドで実行中のコンテナ間の開発者の通勤時間を短縮しました。 本日、新しい Docker Azure コンテナー インスタンス (ACI) エクスペリエンスの最初のリリースを発表し、その使用を開始する方法の概要をお知らせします。

新しい Docker と Microsoft ACI エクスペリエンスにより、開発者は ACI を使用してローカルとクラウドでの作業を簡単に切り替えることができます。現在使用されているのと同じ Docker CLI エクスペリエンスを使用します。 これは、既存の docker context コマンドを拡張して、新しいバックエンドとして ACI をサポートすることで実現しました。 Microsoft と協力して ACI をターゲットにしたのは、そのパフォーマンスと "何も実行されていないときにゼロ コスト" を感じたため、クラウドでコンテナーを実行するのに最適な場所でした。

ACI は、単一の Docker コンテナー、または Docker 作成ファイルで定義された複数のコンテナーのグループで構成されるサービスを実行するための Microsoft サーバーレス コンテナー ソリューションです。 開発者は、インフラストラクチャを設定することなくクラウドでコンテナーを実行し、Azure Storage や GitHub リポジトリをボリュームとしてマウントするなどの機能を利用できます。 運用環境では、自動化された CI/CD フロー内で Docker コマンドを利用できます。

この新しい ACI コンテキストのおかげで、コマンドを使用して Microsoft ACI docker run で 1 つのコンテナーを簡単に実行できるだけでなく、コマンドを使用してマルチコンテナー アプリケーション docker compose up も実行できるようになりました。

この新しいエクスペリエンスは、Docker デスクトップ エッジ 2.3.2 の一部として利用できるようになりました。 開始するには、最新のEdge リリースをダウンロードする か、すでにデスクトップEdgeを使用している場合は更新するだけです。

ACI コンテキストを作成する

最新バージョンを入手したら、Azure アカウントにログインして開始する必要があります。 お持ちでない場合は、200ドルのクレジットで30日間サインアップして、 ここで体験を試すことができます。 アカウントを取得したら、Azure にログインして Docker CLI の使用を開始できます。 

ドッカーデスクトップエッジを使用したACIでのコンテナの実行

これにより、Azure 認証ページが読み込まれ、資格情報と多要素認証 (MFA) を使用してログインできるようになります。 認証が完了すると、CLI に が表示され login succeeded 、最初の ACI コンテキストを作成する準備が整います。 これを行うには、 docker context create aci コマンドを使用する必要があります。 Azure サブスクリプションとリソース グループをコマンドに渡すか、対話型 CLI を使用してそれらを選択するか、リソース グループを作成することもできます。 この例では、既定のリソース グループにデプロイします。

ドッカー デスクトップ エッジ 1

私のコンテキストが作成され、私はこれをチェックすることができます docker context ls

ドッカー デスクトップ エッジ 2

単一コンテナーのアプリケーションの例

このコンテキストを使用する前に、アプリケーションをローカルでテストして、すべてが期待どおりに動作していることを確認します。 私はちょうど静的なHTML Webページを持つ非常に単純なWebサーバーを使用するつもりです。

まず、イメージをビルドしてからローカルで実行します。

ドッカー デスクトップ エッジ 3
ドッカー デスクトップ エッジ 4

ACIでコンテナを実行する準備ができたら、を使用して docker push bengotch/simplewhale イメージをDockerhubにプッシュしてから、を使用して docker context use myacicontextコンテキストを変更します。 その時点から、実行する後続のすべてのコマンドは、この ACI コンテキストに対して実行されます。

を使用して、新しいコンテキスト docker psで実行中のコンテナがないことを確認できます。 ACIでコンテナを実行するには、以前とまったく同じ  docker run コマンドを繰り返すだけで済みます。 コンテナが実行されていることを確認し、IPアドレスを使用してACIで実行されているコンテナにアクセスできます。

ドッカー デスクトップ エッジ 5
ドッカー デスクトップ エッジ 6

を使用して docker rmコンテナを削除できるようになりました。 コマンドが実行されると、ACI では何も実行されず、すべてのリソースが ACI から削除されるため、継続的なコストは発生しないことに注意してください。

複数コンテナー アプリケーションの例

新しい Docker ACI エクスペリエンスでは、Docker Compose を使用してマルチコンテナー アプリケーションをデプロイすることもできます。 Javaバックエンド、Goフロントエンド、postgresDBを備えた単純な3部構成のアプリケーションを見てみましょう。

ドッカー デスクトップ エッジ 7

まず、デフォルトの(ローカル)コンテキストにスワップし、a docker-compose up を実行してアプリをローカルで実行します。 

ドッカー デスクトップ エッジ 8

次に、アクセスできることを確認して、ローカルで実行されていることを確認します。

ドッカー デスクトップ エッジ 9

次に、ACIコンテキストに切り替え docker context use myacicontext て、アプリを再度実行します。 今回は新しい構文 docker compose upを使用できます(と compose の間に docker「-」がないことに注意してください)。

ドッカー デスクトップ エッジ 10

そして、これがパブリックIPアドレスを使用して機能しているかどうかを確認できます。

ドッカー デスクトップ エッジ 11

私は今、単一のコンテナをローカルとクラウドの両方で実行し、マルチコンテナアプリケーションをローカルとクラウドで実行しています–すべて同じアーティファクトを使用し、私が知っていて愛している同じDockerエクスペリエンスを使用しています!

新しい体験をお試しください!

新しいエクスペリエンスを試すには、 Docker Desktop Edge の最新バージョンを今すぐダウンロードして、 ベータリポジトリ でバグを報告し、 Dockerロードマップに問題を追加して統合したい他の機能をお知らせください。

フィードバック

「Docker Desktop Edgeを使用したMicrosoft Azureコンテナインスタンス(ACI)でのコンテナの実行」に関する0の考え