LoginSignup
0
0

More than 3 years have passed since last update.

docker概要

Posted at

コンテナの前提知識

従来型と仮想サーバと比較しながら見ていく

従来のアプリケーション実行環境

  • CPUやメモリ、ディスクが搭載されたハードウェアを購入
  • OSをインストール
  • (複数の)アプリケーションをインストール

ひとつのハードウェアにひとつのOSがあり複数のアプリをインストールして使用

仮想サーバ

  • CPUやメモリ、ディスクが搭載されたハードウェアを購入
  • OSをインストール
  • Hypervisorをインストール
    • VMwareやXen,Hyper-Vなどが有名
  • 複数のOSをインストールし、それぞれのOSの上にアプリケーションをインストール

ハイパーバイザーは複数のバーチャルサーバを実行することができる
EC2などの仮想サーバもバーチャルサーバとして実行されている
OSまるごとのバックアップの取得ができる

コンテナ

  • CPUやメモリ、ディスクが搭載されたハードウェアを購入
  • OSをインストール
  • コンテナエンジン、またはコンテナデーモンをインストール
    • コンテナデーモンはコンテナを実行できるものでDockerが有名
  • OSはインストールせず、アプリケーション(コンテナ)をインストール

ひとつのコンテナに複数のアプリケーションを入れることはできない
コンテナのOSはホストOSのカーネルを共有しており、カーネルまで含めて仮想化しているバーチャルサーバと比べると動作が軽量である
コンテナのOSと異なっていてもLinuxのカーネルは互換性があるため、互換性の範囲内であればアプリケーションは動作する
実行前のコンテナをコンテナイメージと呼ぶ

Linuxイメージ:ファイルシステムとライブラリ
OS:ファイルシステムとライブラリとカーネル

コンテナのコンセプト

  • Dockerのデーモンをホストマシンにインストール
    • Dockerデーモンはコンテナイメージを実行したりネットワーク周りを管理したり、コンテナ全般の管理を行う
  • Dockerクライアントをインストール
    • Dockerクライアントはデーモンに対して指示を出す
    • ホストマシンにインストールしてもいいし、別のマシンにインストールしてもよい
    • ビルドコマンドを実行したり、コンテナイメージを作成してレジストリという領域にイメージをアップロードしたりする
      • レジストリはDockerhubなどが有名
      • AWSではElastic Container RegistryというプライベートなDockerイメージのアップロード場所をサービスとして提供

Docker使い方の流れ

  • docker pullでイメージをダウンロードし修正
  • docker pushでコンテナをアップロード
  • デーモンに対してdocker run
  • デーモンはレジストリからイメージをダウンロードしてきてコンテナを実行する

引用

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0