fbpx

[和訳] Docker Desktopの新機能: より簡単にアプリケーションをデザインできるように #docker

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

本稿は INTRODUCING AN EASIER WAY TO DESIGN APPLICATIONS IN DOCKER DESKTOP (2018/6/13) の和訳です。

6月13日のDockerConのプレゼンで、Docker Desktopの新機能を先行公開しました。このプレビュー機能は、コンテナベースのアプリケーションのデザインをより簡単にするものです。開発者にとっては、現在のDocker Desktopでもアプリケーションをコンテナ化するために必要な機能が充分揃っていると思われるかもしれません。けれども、開発を始めるにあたりDockerfileやDocker Composeファイルの仕様についての理解が必要です。また、アプリケーションを開発し運用するためには、Docker CLIの情報が必要になります。

そこで私たちは、すべての開発者がDocker Desktopを利用しやすいようにするための案を練ってきました。コンテナ化を始めることへのハードルを下げ、コンテナベースの開発の共有やコラボレーション、またはさらに多くの開発者のツールセットへの統合をさらに簡単にすることを目標としています。この新しいガイド付きのワークフローで、私たちが今取り組んでいることが垣間見えるでしょう。既に取り入れているアイデアや、この先取り入れようと思っているアイデアについてもう少しお話しさせてください。

まずはじめに、この新しいツールはグラフィカルなツールです。現在稼働中のものは一切壊しません。舞台裏で作成しているものは今も変わらずDockerfileとDocker Composeファイルです。しかし、だれもがDockerfileやDocker Composeファイルを書きたい訳ではないので、それ以外の方法で今までと同じことができる手段を提供しているのです。

新しいカスタムアプリケーションの作成

"Custom application" のボタンを押すと、新しいアプリケーションに追加できるサービスの一覧を表示します。

選択する一つ一つのサービスが、最終的なアプリケーション用のコンテナになります。しかも、DockerfileやDocker ComposeファイルはDocker Desktopが自動的に作成してくれます。

現在、サービスによっては、追加するときにバージョンやポート番号の変更など基本的なカスタマイズもできるようになっています。

アプリケーションを組み立てる

アプリケーションに追加したいサービスをすべて選択し終えたところで、アプリケーションに名前を付け、生成するファイルを保管する場所を示し、"Assemble"ボタンを押してください。

組み立てのステップでは、各サービスのDockerfile、アプリケーション全体を起動するDocker Composeファイル、大多数のサービス用の基本的なコードスタブを作成します。これらが揃っていれば、アプリケーションを起動することができるでしょう。もちろん、スタブコードをお好きなエディタで開き、ただちに開発を始めることも、既存のコードで置き換えることもできます。

Dockerfileは、サービスにどんなコードを提供しても、そのコードを作成するコンテナに追加するようになっています。ここで強調したいことは、ここで使っているDockerfileはプレーンテキストの標準的なDockerfileだということです。なので、コンテナイメージをカスタマイズしたいなら、必要に応じてDockerfileを修正することができるのです。

アプリケーションの一部として選択した各サービスには、1つのDockerfileと、サービスを起動するために必要なスタブコードを生成します。

作成したアプリケーションを実行する

このアプリケーションデザイン機能は、選択したすべてのサービスを1つの完成したアプリケーションとして立ち上げるために必要なDocker Composeファイルをも作成します。Dockerfileと同じように、お望みなら開いてカスタマイズできる標準的なDocker Composeファイルです。DockerのCLIコマンドをご存知なら、個別のサービスまたはアプリケーション全体を自分で起動することができるでしょう。けれども、このガイド付きのワークフローはあなたの代わりにこれを行います。インターフェイスに"Run Application"というボタンがあり、このボタンがすべてうまくやってくれます:

これにより、Dockerfileから各サービスをビルドするプロセスが始まり、Docker Composeファイルに従ってアプリケーションを起動します。UIの"Open in Visual Studio Code"というボタンにお気づきでしょう。これは、私のパソコンに入っているエディタです。そのボタンを押すと、エディタ内のプロジェクトファイルを開き、新しくコンテナ化したコード・ビルド・テストのサイクルを開始できる状態になります。

テンプレートから構築

今ご紹介したのが"Custom application"のワークフローです。この新しいワークフローには、アプリケーションを作成できるもう一つの方法があります。それは、テンプレートベースのデザインです:

このワークフローで違うのは、個別のサービスを自分で選択するのではなく、事前構成してあるアプリケーションのテンプレートを利用可能だということです:

いずれは各チームが自分たちでテンプレートを作成することにより、コラボレーションや共有を単純化することが私達の願いです。これは、お客様が特に要求していることです。共有するためだけでなく、アプリケーション開発マネージャやセキュリティチームが事前に承認したテンプレートを作成し、利用できるサービスを限定するためにも役立つでしょう。

私達は今現在、これらのワークフローに機能を追加することに取り組んでいる最中です。Secret、Volume、Networksなど、Docker Composeの残りの機能のサポートを終わらせているところです。また、CIシステムにインテグレーションを追加することや、Docker Desktopから直接Docker EEにデプロイできるようにしたいと思っています。

Dockerをすべての開発者へ

Dockerをさらに多くの開発者が利用できるようにするという目標を達成するために、これからも探求し続けます。この目標を達成するためとなるアイデアがありましたら、ぜひご連絡ください(Docker Desktop for macOS / Windows)。このDocker Desktopのアプリケーションデザインの新機能をいち早く手に入れたい方は、ぜひbeta.docker.comでサインアップしてください。

DockerConでの発表についてもっと知りたい方は:

新規CTA