Dockerのコアコンセプトとインストール(2)
3948 ワード
Dockerは3つのコアコンセプトに分かれています.
1.ミラー(Image)2.コンテナ(Container)3.倉庫(Repository)はこの3つの概念を理解し、Dockerのライフサイクル全体をスムーズに理解することができます.
2.1コアコンセプト
Dockerミラー
Dockerミラーは、仮想マシンミラーと同様に、ファイルシステムを含むDockerエンジン向けの読み取り専用テンプレートとして理解できます.たとえば、1つのミラーには、Ubuntuミラーと呼ばれる完全なubuntuオペレーティングシステム環境のみを含めることができます.ミラーは、nginxミラーと呼ばれるnginxアプリケーション(またはユーザーが必要とする他のソフトウェア)をインストールすることもできます.
ミラーリングはDockerコンテナを作成するための基礎です.バージョン管理とインクリメンタルファイルシステムにより、Dockerは既存のミラーを作成して更新する非常に簡単なメカニズムを提供し、ユーザーはすでに作成したアプリケーションミラーをネット上からダウンロードし、簡単なコマンドで直接使用することができます.
Docker容器
コンテナはミラーから作成されたアプリケーション実行インスタンスで、起動、開始、停止、削除できますが、これらのコンテナは互いに分離され、互いに表示されません.コンテナは、rootユーザー権限、プロセス空間、ユーザー空間、ネットワーク空間などを含む簡易版linuxシステム環境、およびその中で実行されるアプリケーションをパッケージ化したアプリケーションボックスと見なすことができます.ミラー自体は読み取り専用です.コンテナがミラーから起動されると、Dockerはミラーの最上位に書き込み可能なレイヤを作成し、ミラー自体は変更されません.
Doker倉庫
Dokerウェアハウス(Repository)はコードウェアハウスに似ており、Dockerがミラーファイルを集中的に格納する場所である.Dockerウェアハウスとレジストリを混同した資料があり、厳密に区別されていない場合があります.実際には、レジストリサーバは倉庫を保管する場所で、複数の倉庫が保管されています.各倉庫には、複数のミラーファイルが含まれ、異なるタグで区別されることが多いミラーのクラスが格納されています.Docker倉庫は、格納されているミラーが公開されているかどうかによって、公開倉庫(Public)とプライベート倉庫(Private)の2つの形式に分けることができます.現在、最大の公開倉庫はDocker Hubで、ユーザーがダウンロードできる膨大なミラーが保管されています.国内公開の倉庫はDokcer Poolなどがあり、安定した国内訪問が可能です.もちろん、ユーザーが自分のミラーファイルを公開的に共有したくない場合は、Dockerはローカルネットワーク内で自分でしかアクセスできないプライベートウェアハウスを作成することもサポートします.ユーザーが独自のミラーを作成した後、Pushコマンドを使用して指定した共有またはプライベートウェアハウスにアップロードできます.このようにユーザが次回別の機器でこのミラーを使用する場合には、それを倉庫からPullするだけでよい.
Dockerが倉庫を利用してミラーを管理する設計理念はGitとよく似ていることがわかる.
2.2 Dockerのインストール
Dockerは、Ubuntu、CentOS、Windwos、MacOSシステムなど、主流のオペレーティングシステムプラットフォームでの使用をサポートします.もちろん、linuxシリーズプラットフォームではオリジナルでサポートされており、使用体験がより良いです.ここではCentOS 7シリーズを使用して例を説明します.
DockerはCentOS 6以降のバージョンをサポートします.CentOS 6システムでEPELライブラリを使用してDockerをインストールできる場合は、EPELソースを具体的に追加することは言うまでもありません.コマンドは次のとおりです:
ここにインストールしました.
Dockerのバージョンを表示すると、まだ1.12バージョンであることがわかります.
起動docker:
1.ミラー(Image)2.コンテナ(Container)3.倉庫(Repository)はこの3つの概念を理解し、Dockerのライフサイクル全体をスムーズに理解することができます.
2.1コアコンセプト
Dockerミラー
Dockerミラーは、仮想マシンミラーと同様に、ファイルシステムを含むDockerエンジン向けの読み取り専用テンプレートとして理解できます.たとえば、1つのミラーには、Ubuntuミラーと呼ばれる完全なubuntuオペレーティングシステム環境のみを含めることができます.ミラーは、nginxミラーと呼ばれるnginxアプリケーション(またはユーザーが必要とする他のソフトウェア)をインストールすることもできます.
ミラーリングはDockerコンテナを作成するための基礎です.バージョン管理とインクリメンタルファイルシステムにより、Dockerは既存のミラーを作成して更新する非常に簡単なメカニズムを提供し、ユーザーはすでに作成したアプリケーションミラーをネット上からダウンロードし、簡単なコマンドで直接使用することができます.
Docker容器
コンテナはミラーから作成されたアプリケーション実行インスタンスで、起動、開始、停止、削除できますが、これらのコンテナは互いに分離され、互いに表示されません.コンテナは、rootユーザー権限、プロセス空間、ユーザー空間、ネットワーク空間などを含む簡易版linuxシステム環境、およびその中で実行されるアプリケーションをパッケージ化したアプリケーションボックスと見なすことができます.ミラー自体は読み取り専用です.コンテナがミラーから起動されると、Dockerはミラーの最上位に書き込み可能なレイヤを作成し、ミラー自体は変更されません.
Doker倉庫
Dokerウェアハウス(Repository)はコードウェアハウスに似ており、Dockerがミラーファイルを集中的に格納する場所である.Dockerウェアハウスとレジストリを混同した資料があり、厳密に区別されていない場合があります.実際には、レジストリサーバは倉庫を保管する場所で、複数の倉庫が保管されています.各倉庫には、複数のミラーファイルが含まれ、異なるタグで区別されることが多いミラーのクラスが格納されています.Docker倉庫は、格納されているミラーが公開されているかどうかによって、公開倉庫(Public)とプライベート倉庫(Private)の2つの形式に分けることができます.現在、最大の公開倉庫はDocker Hubで、ユーザーがダウンロードできる膨大なミラーが保管されています.国内公開の倉庫はDokcer Poolなどがあり、安定した国内訪問が可能です.もちろん、ユーザーが自分のミラーファイルを公開的に共有したくない場合は、Dockerはローカルネットワーク内で自分でしかアクセスできないプライベートウェアハウスを作成することもサポートします.ユーザーが独自のミラーを作成した後、Pushコマンドを使用して指定した共有またはプライベートウェアハウスにアップロードできます.このようにユーザが次回別の機器でこのミラーを使用する場合には、それを倉庫からPullするだけでよい.
Dockerが倉庫を利用してミラーを管理する設計理念はGitとよく似ていることがわかる.
2.2 Dockerのインストール
Dockerは、Ubuntu、CentOS、Windwos、MacOSシステムなど、主流のオペレーティングシステムプラットフォームでの使用をサポートします.もちろん、linuxシリーズプラットフォームではオリジナルでサポートされており、使用体験がより良いです.ここではCentOS 7シリーズを使用して例を説明します.
DockerはCentOS 6以降のバージョンをサポートします.CentOS 6システムでEPELライブラリを使用してDockerをインストールできる場合は、EPELソースを具体的に追加することは言うまでもありません.コマンドは次のとおりです:
yum install docker-io
CentOS 7システムでは、CentOS-ExtrasソースにDockerが内蔵されているため、以下のコマンドを直接使用してインストールできます.[root@daquan ~]# yum install docker
Loaded plugins: fastestmirror, langpacks
epel | 4.3 kB 00:00:00
extras | 3.4 kB 00:00:00
nginx | 2.9 kB 00:00:00
os | 3.6 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/2): epel/7/x86_64/primary_db | 4.6 MB 00:00:00
Loading mirror speeds from cached hostfile
Package 2:docker-1.12.6-11.el7.centos.x86_64 already installed and latest version
Nothing to do
ここにインストールしました.
Dockerのバージョンを表示すると、まだ1.12バージョンであることがわかります.
[root@daquan ~]# docker version
Client:
Version: 1.12.6
API version: 1.24
Package version: docker-common-1.12.6-11.el7.centos.x86_64
Go version: go1.7.4
Git commit: 96d83a5/1.12.6
Built: Tue Mar 7 09:23:34 2017
OS/Arch: linux/amd64
Server:
Version: 1.12.6
API version: 1.24
Package version: docker-common-1.12.6-11.el7.centos.x86_64
Go version: go1.7.4
Git commit: 96d83a5/1.12.6
Built: Tue Mar 7 09:23:34 2017
OS/Arch: linux/amd64
起動docker:
systemctl start docker.service
現在CentOSシステムでDockerソフトウェアを更新するには2つの方法があります.1つは、自分でソースコードをコンパイルしてインストールすること、2つはバイナリファイルをダウンロードして更新することです.