Docker

Docker

Dockerとは

Docker(ドッカー)とは、コンテナ型仮想化技術を利用したオープンソースのプラットフォームです。アプリケーションとその依存関係をDockerイメージとしてパッケージ化し、どの環境でも同一の動作を保証します。2013年に登場して以来、ソフトウェア開発とデプロイの方法を根本的に変革しました。

Dockerの基本概念

Dockerの主要な概念は、Dockerfile(イメージの設計図)、Dockerイメージ(実行環境のスナップショット)、Dockerコンテナ(イメージから起動した実行インスタンス)、Docker Hub(イメージの共有レジストリ)です。Dockerfileにコマンドを記述し、docker buildでイメージを構築、docker runでコンテナを起動します。

AI開発でのDocker活用

AI開発ではDockerが標準的な開発環境として定着しています。NVIDIA が提供するNGC(NVIDIA GPU Cloud)カタログには、PyTorch、TensorFlow、TensorRTなどの最適化済みDockerイメージが用意されています。これらを利用することで、GPU環境の構築を大幅に簡略化できます。

Docker Compose とマルチコンテナ

Docker Composeを使えば、複数のコンテナ(モデルサーバー、データベース、監視ツールなど)を一括で管理できます。開発環境のセットアップがdocker-compose up一つのコマンドで完了し、チーム間での環境統一が容易になります。本番環境ではKubernetesへの移行が一般的です。