おわりに

コンテナ型仮想化技術は,軽量な仮想環境として様々なところで利用されている. その中でもDockerを使用した開発は,開発環境の用意やチーム開発がかなりスムーズになるなどのメリットになる. Dockerfile をGit管理してチーム内で開発環境を共有すれば,依存関係のトラブルを少なくしたり, トラブルシュートなどでも役立つのでぜひ活用してほしい. DockerfileをGitなどで共有することは研究システムの再現性を上げることにもなる. 仮想マシンのようにOSやミドルウェアなど,大量の関心事に縛られることなく,アプリケーションの開発に専念できることもメリットとして挙げられる.

Dockerコンテナを本番環境で運用するという事例も増えている. Amazonの Elastic Container Service や Kubernetesを 利用し, 疎結合な分散システムを構築するための有力なプラクティスとして,多数の企業で使用されている.

今後はコンテナで運用することが前提となる企業も多くなるだろう. そのため,研究システムやツールの開発などで使ってDockerやコンテナ周辺の技術に慣れていくと良い. Windows や macOS で Docker をためしたいのであれば, Docker Desktopをインストールしてみると良い. WindowsであればWindows Subsytem for Linux 2(WSL2)を合わせて使うのがおすすめである. Docker も Git などと同様に使って覚えることが重要なので,普段の開発からできるだけ使ってみよう.