Docker

y2sunlight 2020-12-18

Dockerは、Linuxのコンテナ仮想化技術を用いて仮想環境を作成、配布、実行するためのプラットフォームで、Apache License 2.0 ライセンス下でオープンソースソフトウェアとして公開されています。DockerはDocker社が提供しており、2014年6月にオープンソースソフトウェアとして正式版がリリースされ、2017年4月にコミュニティエディション(CE)とエンタープライズエディション(EE)2つのソリューションの提供を開始しました。

Webアプリケーションは、開発環境、テスト環境、ステージング環境、運用環境と複数の環境下で同じ動作をしなければなりません。これらの環境は複数の開発メンバーに対しても常に一定の一貫性をもっていなければならず、従来から開発上の問題となっていました。この問題を解決するために、開発されたのが Docker です。

Docker を使う事によって、アプリケーションの動作環境をコンテナとして作成し、そのイメージファイルを配布することで、あらゆる状況(開発、テスト、ステージング、運用など)に対して同一環境を配備できるようになります。これにより、開発から運用までのリリース時の時間的ギャップを大きく短縮できる効果が期待できます。

Docker を使った開発のワークフローは、開発、テスト、ステージング、運用の工程を、構築(Build) → 移動(Ship) → 実行(Run)と進んでいきます。その中心に存在するのが DockerHub と呼ばれるコンテナを共有するためのインターネット上のリポジトリです。Docker Hub はDocker社が運営している有償サービスですが、公開リポジトリ(パブリックリポジトリ)に限っては無償で無制限に作成できます。この辺りの事情はGitHubと同じです。

本編では、Windows上でのDockerのインストール、コンテナの構築・移動・実行、そして DockerHub について説明する予定です。DockerはWSL2のUbuntuにインストールします。

リンク


目次