Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第7章 Docker 形式の Linux コンテナー

Dockerは、Linux コンテナー内でのアプリケーションのデプロイメントを自動化するオープンソースプロジェクトで、アプリケーションとそのランタイム依存関係をコンテナーにパッケージ化する機能を提供しています。イメージベースのコンテナーのライフサイクル管理のための Docker CLI コマンドラインツールを提供します。Linux コンテナーは、セキュリティーを強化する一方で、迅速なアプリケーションデプロイメント、単純なテスト、メンテナーンス、およびトラブルシューティングを可能にします。Red Hat Enterprise Linux 7 と Docker を併用することで、顧客はスタッフの効率を高め、サードパーティーアプリケーションをより迅速にデプロイメントし、より機敏な開発環境を実現し、リソースをより厳密に管理できます。
Docker コンテナーをすぐに起動して実行するには、Docker コンテナーの使用を 開始 するを参照してください。
docker 形式の Linux コンテナーは、SELinux が有効になっているホストでの実行に対応しています。/var/lib/docker ディレクトリーが、B-tree ファイルシステム (Btrfs) を使用するボリュームにあると、SELinux はサポートされません。

7.1. Docker コンテナーのコンポーネント

Docker は、次の基本的なコンポーネントで動作します。
  • Container – アプリケーションサンドボックス。各コンテナーは、必要な設定データを保持するイメージに基づいています。イメージからコンテナーを起動すると、書き込み可能な階層がこのイメージの上部に追加されます。コンテナーをコミットするたびに (docker commit コマンドを使用)、変更を保存する新しいイメージ層が追加されます。
  • Image – コンテナーの設定の静的スナップショット。イメージは、変更されることのない読み取り専用レイヤーです。変更はすべて最上位の書き込み可能なレイヤーで行われ、新規イメージを作成することによってのみ保存できます。各イメージは、複数の親イメージに依存します。
  • プラットフォームイメージ – 親を持たないイメージ。プラットフォームイメージは、コンテナー化されたアプリケーションの実行に必要なランタイム環境、パッケージ、およびユーティリティーを定義します。プラットフォームイメージは読み取り専用であるため、その上部にスタックされたコピーイメージに変更が反映されます。そのようなスタッキングの例を参照してください図7.1「Docker 形式を使用したイメージの階層化」.
  • レジストリー – イメージのリポジトリー。レジストリーは、ダウンロード可能なイメージを含むパブリックまたはプライベートリポジトリーです。一部のレジストリーでは、ユーザーがイメージをアップロードして他のユーザーが利用できるようにすることができます。
  • Dockerfile – Docker イメージのビルド手順を含む設定ファイル。Dockerfile は、ビルド手順を自動化、再利用、および共有する方法を提供します。

図7.1 Docker 形式を使用したイメージの階層化

Docker 形式を使用したイメージの階層化