Dockerとは
- コンテナ型の仮想化サービス
- あたかも別のマシンがOS上に動いているかのように動かすことが可能
コンテナはプロセスやユーザ等をサーバごとに隔離するため
構成
Dockerイメージ
- コンテナを立ち上げるために必要な設定やコマンドをまとめたテンプレート
- Dockerイメージを使えば以下の作業を省略できる
- ソフトウェアをインストールする
- 初期設定を行う
- 詳細設定をカスタマイズする
コンテナ
- Dockerイメージをもとにつくられた仮想環境
WebサーバやDBサーバ等が動く環境
Dockerサーバ
- コンテナとDockerイメージを管理するサーバ
Dockerクライアント
- 利用者がDockerを使用するために操作するコマンドやツール群
Dockerレジストリ
- Dockerイメージを公開・共有する
- レジストリ内には公開したいイメージ(NginxやNode.js等)のカテゴリごとに「リポジトリ」がある
イメージはリポジトリに登録される - 利用者はコンテナからDockerレジストリにアクセスし、イメージをダウンロードする
- サーバやDBの設定をあまり気にせず、ソフトウェアを使ったシステムの構築が可能となる
- Docker社公式のレジストリはDockerHub
特徴
システム導入の高速化
- システムを構築するために必要となる最低限のプログラムのみのインストールで良い
OSはすでに共有して利用しているため、それらの設定を省略できる
起動時間の短縮化と多くの処理実装が可能
- サーバの起動時間を短縮化できる
OSを複数のサーバが共通して利用しており、OSが既に立ち上がっているため - 1度に多くのプログラム処理の実装が可能
リソースの使用量が少なく、サーバへの負荷が低いため
コンテナ設定の再利用が可能
- 1度作成したコンテナはDockerイメージを作成し、他のコンテナへ適用することで再利用が可能