docker概要
コンテナの前提知識
従来型と仮想サーバと比較しながら見ていく
従来のアプリケーション実行環境
- 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
- デーモンはレジストリからイメージをダウンロードしてきてコンテナを実行する
引用
- Dockerデーモンはコンテナイメージを実行したりネットワーク周りを管理したり、コンテナ全般の管理を行う
- Dockerクライアントはデーモンに対して指示を出す
- ホストマシンにインストールしてもいいし、別のマシンにインストールしてもよい
- ビルドコマンドを実行したり、コンテナイメージを作成してレジストリという領域にイメージをアップロードしたりする
- レジストリはDockerhubなどが有名
- AWSではElastic Container RegistryというプライベートなDockerイメージのアップロード場所をサービスとして提供
-
docker pull
でイメージをダウンロードし修正 -
docker push
でコンテナをアップロード - デーモンに対して
docker run
- デーモンはレジストリからイメージをダウンロードしてきてコンテナを実行する
引用
Author And Source
この問題について(docker概要), 我々は、より多くの情報をここで見つけました https://qiita.com/bibouroku/items/99e3d8d6e2c5d11d6113著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .