|
翻訳者 | 李睿 校正:孫淑娟 Docker拡張機能は、速度と生産性を向上させることで、開発者の時間と労力を大幅に節約できます。開発者は、これらの拡張機能を導入してCI/CDパイプラインを自動化してみることができます。 ソフトウェア開発環境はかつてない速さで変化しており、リリースサイクルの高速化への需要が仮想化技術の急速な発展を促しています。仮想マシン(VM)は長年存在してきましたが、近年登場したコンテナは、その低速性と軽量性の欠如により、VMを凌駕する存在となっています。マイクロサービスの台頭により、コンテナは軽量環境でアプリケーションを開発、テスト、デプロイするためのVMに代わる現実的な選択肢となっています。 Docker は、Linux コンテナーを使用してアプリケーションやその他のソフトウェア プロセスを仮想化し、同じコンピューター デバイス上で実行されている独立したアプリケーションであるかのように、別のコンテナーで独立してより安全に実行できるようにするオープン ソース テクノロジです。 Dockerはソフトウェアアプリケーションを仮想コンテナにパッケージ化し、迅速かつ効率的に出荷、デプロイ、実行できるようにします。これらのコンテナは、アプリケーションのための仮想ロッカーのような役割を果たします。アプリケーションとその依存関係をパッケージ化することで、透過的に配布し、どこにでも実行できるようにします。つまり、ユーザーは開発システム、テストシステム、ステージングシステム、本番環境のいずれにおいても、同じユーザーエクスペリエンスを得ることができます。 1. Docker拡張機能DockerCon 2022において、Docker Inc.はDocker Extensionsを発表しました。Docker Extensionsの背後にある考え方は、開発者がサードパーティ製ツール(プラグインなど)を使用してDockerの機能を拡張できるようにすることです。利用可能な拡張機能は、Docker Desktopの「Extensions」タブをクリックすることで有効化できます。拡張機能は開発者の生産性を向上させ、ワークフローを効率化します。開発者は、好みのツールをDocker Desktopという一元化された場所で利用できるようになります。 さまざまな興味深い拡張機能を調べる前に、Docker デスクトップを開き、設定から Docker 拡張機能を有効にします。 ここでは、開発者がソフトウェア開発を加速するために不可欠な Docker 拡張機能をいくつか紹介します。 2. ドローンCIご存知の通り、継続的インテグレーション(CI)はDevOpsの最初のステップです。開発者はコードを記述すると、Gitなどのソースコード管理ツールに保存します。そして、継続的インテグレーションツールを用いてコードをテストし、ビルドします。継続的インテグレーション(CI)は、あらゆるDevOps手法に不可欠な要素です。DroneCIは、セットアップと使用が非常に簡単なオープンソースの継続的インテグレーション(CI)ツールです。この拡張機能により、ユーザーはラップトップで継続的インテグレーション(CI)を実行できるようになります。必要なのは、手順を定義する単一のymlファイルだけです。 シンプルなNode.jsアプリケーションを使ってプラグインを処理できます。以下はクローンしたサンプルアプリケーションです。 種類:パイプライン DroneCI 拡張機能は、Docker デスクトップ拡張機能タブから直接インストールできます。 インストール後、Drone CI 拡張機能をクリックすると、次のダッシュボードが表示されます。 パイプはまだ構成されていないため、パイプがインポートされていない空のダッシュボードが表示されます。 「パイプラインをインポート」をクリックしてプロジェクトをインポートしてください。拡張機能には、.drone.ymlファイルを含むすべてのプロジェクトが表示されます。ローカルマシンからプロジェクトをインポートしてみてください。 例を示すために、基本的なテストを含むシンプルな Node.js アプリケーションである Simple-Node-App プロジェクトをインポートしました。 次のステップはパイプラインを実行することです。そのためには、「実行/再生」ボタンがクリックされたときに実行されるいくつかの簡単な設定を追加する必要があります。次のアクションが表示されます。 実行する手順、シークレット ファイル (存在する場合は secret.txt ファイルで指定できます)、環境ファイルなどの必要なフィールドを追加します。 アプリケーションを実行すると、パイプラインが実行されていることがわかります。 3. vクラスタKubernetes の活用は、時に大変な作業となることがあります。学習曲線が急峻であるため、開発者はプラットフォームを理解するためにかなりの時間と労力を費やす必要があります。これらはすべて価値のあることですが、開発者を支援し、生産性を向上させるツールがあればどうでしょうか? vclustersは、あらゆるKubernetesクラスター上に仮想クラスターを作成できるツールです。クラウド料金が上昇する可能性のある成熟したクラスターを作成するのとは異なり、vclusterは低コストで、マルチテナントという追加のメリットも提供します。これは、開発とテストで異なる構成を設定する必要があるすべての人にとって有益です。 Docker デスクトップの設定から Kubernetes が有効になっていることを確認します。 vcluster 拡張機能は Docker デスクトップ拡張機能タブで簡単に見つかります。クリックするだけでインストールできます。 Docker 拡張機能をインストールすると、仮想クラスターを作成するためのシンプルなダッシュボードが表示されます。 次に、「新しいクラスターの作成」をクリックしてクラスターに名前を付け、必須フィールドに入力して、「作成」をクリックします。 必須項目をすべて入力すると、クラスターの作成中が表示されます。しばらくすると、クラスターが実行中になっているのが確認できます。 vcluster CLI を使用して、実行中のクラスタがアクティブであることを確認できます。vcluster を一覧表示するコマンドは次のとおりです。 4. マイクロックスMicroksは、APIとマイクロサービスのシミュレーションとテストのためのオープンソースプラットフォームです。モックをデプロイし、他のAPIをローカルで実験することができます。イベントベースのAPIを効率的にシミュレーションおよびテストするためのDocker拡張機能が利用可能になりました。Microks拡張機能はDockerデスクトップですぐに利用可能で、ワンクリックで簡単にインストールできます。 「Microcksを起動」タブをクリックします。 Microcks が起動したら、localhost:8080 にアクセスして API をテストできます。 localhost:8080 に移動すると、Microcks ダッシュボードが表示されます。 「APi」タブと「サービス」タブをクリックします。 「REST API」を選択し、「次へ」をクリックします。 API、バージョン、リソースに名前を付けて、「次へ」をクリックします。 以下に示す仮想 JSON 参照ペイロードをこの実験に追加し、「次へ」をクリックします。 最後のステップは確認です。追加されたデータが正しければ、「次へ」をクリックします。 作成された API のリストが表示されます。 クリックすると、エンドポイントを持つCRUD操作のリストが表示されます。Getでテストしてください。 リンクをコピーして、ローカル ブラウザーでエンドポイントを開くと、次のような画面が表示されます。 5. 結論Dockerは、あらゆるソフトウェア開発者が理解すべきプラットフォームです。長年にわたり、Dockerは大規模なコミュニティとサポート基盤を構築してきました。これは、開発者のソフトウェア開発とデプロイメントを効率化するためのDockerの素晴らしい取り組みです。さらに嬉しいことに、ユーザーは独自のカスタム拡張機能を構築できます。上記の拡張機能を適切に使用すれば、開発者のソフトウェアデリバリーパイプラインに大きな影響を与えることができます。開発者は、速度と生産性を向上させるための実験を行うことができます。 元のリンク: https://dzone.com/articles/docker-desktop-extensions-every-developer-must-try |