1.Dockerはインストール、画像管理を導入し、コンテナとテンプレートを介して画像を作成します

ドッカー紹介

公式サイトwww.docker.com

 github https://github.com/docker/docker.github.io

 オープンソースのコンテナエンジンを使用すると、開発者はアプリケーションと依存ライブラリをパッケージ化して、一般的なLinuxディストリビューションに公開できます。これは移植に非常に便利です。

 go言語で記述され、apache2.0プロトコルに基づいてリリースされました

 linuxカーネルに基づいて、winで実行する場合は、vm(仮想マシン)を使用して実現する必要があります。 

 2013年以来、近年急速に発展しています

 1.13x以降、dockerのバージョンはコミュニティバージョンceとエンタープライズバージョンeeに分けられ、年と月のタイムラインに基づいて、現在の最新の安定バージョンは17.09です。参照http://blog.csdn.net/chenhaifeng2016/article/details/68062414

Dockerと従来の仮想化の比較

image.png

Dockerの利点

起動は非常に速く、数秒で実現します

 高いリソース使用率、高い構成サーバーは何千ものドッカーコンテナーを実行できます

 作成と構成が完了すると、配信と展開が高速になり、どこでも実行できます。

 カーネルレベルの仮想化は、追加のhypevisorサポートを必要とせず、より高いパフォーマンスと効率を実現します

 プラットフォームに強く依存せず、移行が容易

image.png

Dockerのコアコンセプト

  • ミラーは、インストールシステムで使用されるisoファイルに似た読み取り専用のテンプレートです。ミラーリングを使用して、さまざまなアプリケーションの展開を完了します。

  • コンテナ、イメージはオペレーティングシステムに似ており、コンテナは仮想マシン自体に似ています。開始、開始、停止、削除などの操作が可能で、各コンテナは互いに分離されています。

  • 倉庫、鏡像を格納するための場所は、倉庫は公共の倉庫や民間倉庫に分かれています。最大の公共倉庫はDockerハブ(hub.docker.com)、国内公共倉庫(dockerpool.com)です。


Dockerのインストール

インストール手順

方法1:

1.リポジトリのyumソースをダウンロードします(公式提供)

curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker.repo

2.コミュニティエディションをインストールします。

yum install -y docker-ce

方法2:

(速度が遅いので、rpmパッケージを直接ダウンロードすることもできます)

https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

ダウンロードしてLinuxにアップロードした後、yumを使用してインストールする必要があります。依存関係を自動的に解決し、自分で指定することができます

yum install -y docker-ce-xxxx.rpm

3.ドッキングウィンドウを起動します。

systemctl start docker


Dockerイメージ管理

  • 画像をダウンロード:docker  pull  centos

[ルート@ awei-01〜]#]ドッキングウィンドウプルCentOSの
デフォルトのタグの使用:最新
最新:ライブラリから引っ張る/ CentOSの
7a0437f04f83:プル完全 
ダイジェスト:SHA256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1
ステータス:CentOSのためのダウンロード新しいイメージ:最新
docker.io/library/centos:最新

Dockerアクセラレータを構成します http://blog.csdn.net/xlemonok/article/details/71403534を参照

vi / etc / docker / daemon.json //次のコンテンツを追加します

{ 
"registry-mirrors":["https://dhq9bx4f.mirror.aliyuncs.com"] 
}

注:このURLはアクセラレータのアドレスであり、学生は自分でAlibabaCloudに申し込む必要があります

アクセラレータを構成した後、dockerサービスを再起動すると、docker pullcentosが再びはるかに高速になります

  • ローカル画像を表示する:docker images

[root @ awei-01〜] #docker images 
REPOSITORY TAG IMAGE ID CREATED SIZE 
centos latest 300e315adb2f4週間前209MB
  • 検索ミラー:docker search xxx //検索ミラー。xxxはキーワードです。

  • ミラータグ:ドッキングウィンドウタグミラー名タグ//タグミラーTAGが彼のタグです

[root @ localhost〜] #docker tag centos6 centos6:v1 
[root @ localhost〜] #dockerimagesリポジトリタグ画像
ID作成サイズ
centos6最新fa529b27048c28時間前
512MBcentos6 v1 fa529b27048c28時間前512MB
レジストリ最新678dfa38fcfa3週間前26.2MB
  • 画像はコンテナとして始まります:docker run -itd centos bash

[root @ awei-01〜] #docker run -itd centos bash 
bce3d5c8d148fab8cebf15ea288f799b92cdae4541e9c604efab7e52ac7eb1a3

-iはコンテナの標準入力を開くことを意味し、-tは疑似端末を割り当てることを意味し、-dはバックグラウンド開始することを意味し、-i -t -dを画像名centosの前に置きます  注:画像が開始されると、コンテナになります。

  • 実行中のコンテナを表示する:docker ps // -aオプションを追加すると、実行されていないコンテナを含むすべてのコンテナを表示できます

[root @ awei-01〜] #dockerpsコンテナ
IDイメージコマンド作成されたステータスポート名
bce3d5c8d148centos "/ bin / bash" 47秒前アップ46秒nervous_black
  • 指定されたミラーを削除します:docker rmi centos

      後者のパラメータはタグにすることができます。タグの場合、タグは実際に削除されます。後者のパラメータがミラーIDの場合、ミラー全体が完全に削除され、すべてのタグが同時に削除されます。

[ルート@ awei-01〜]#ドッキングウィンドウのRMI 300e315adb2f
タグなし:CentOSの:最新の
タグなし:CentOSの@ SHA256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1
削除された:SHA256:300e315adb2f96afe5f0b2780b87f28ae95231fe3bdd1e16b9ba606307728f55
削除された:SHA256:2653d992f4ef2bfd27f94db643815aa567240c37732cae1405ad1c1309ee9859
  • コンテナを閉じる:dockerstopによって開始されたコンテナのID

  • docker rm-fによって開始されたコンテナID


Dockerはコンテナを介してイメージを作成します

docker runがコンテナを開始した後、次のコマンドを使用してコンテナに入ることができます

  • コンテナを入力してください:docker exec -it xxxxx bash //ここで、xxxxxはコンテナIDです。このIDはdocker psで表示できます。最後のbashは、ターミナルを開くことができるように、コンテナに入った後に実行するコマンドです。

[root @ awei-01〜] #docker exec -it bce3d5c8d148 bash 
[root @ bce3d5c8d148 /]#ls 
bin dev etc home lib lib64 lost + found media mnt opt proc root run sbin srv sys tmp usr var 
[root @ bce3d5c8d148 /] #
  • イメージの作成:docker commit -m "change / description" -a "作成者情報" container_id新しいイメージ名// container_idはdockerps-aを介して取得されます

例えば:

コンテナに入り、何かをインストールするなどの変更を加えてから、このコンテナの新しいイメージを作成し、コンテナでyum install -y net-toolsを実行してから、ctrldを実行してコンテナを終了します。

変更ミラーを作成します。dockercommit-m "install net-tools" -a "Aming" 2c74d574293f centos_with_nettoolこのコマンドは、svn送信に少し似ています。-mは変更情報を追加し、-aはコンテナIDとして作成者関連情報2c74dを指定します。新しいミラーの名前


Dockerはテンプレートを使用して画像を作成します

まず、テンプレートをダウンロードします

wget http://download.openvz.org/template/precreated/centos-6-x86-minimal.tar.gz//ダウンロード速度が速くない、centos6テンプレートcentos-6-x86-minimal.tar.gzをダウンロードしました

  • 画像インポートするコマンドは次のとおりです。

cat centos-6-x86-minimal.tar.gz | docker import-centos6

dockerimagesはインポートされた画像を表示します

[ルート@ awei-01〜]#猫centos6-のx86-minimal.tar.gz |ドッキングウィンドウのインポート- centos6 
SHA256:730dac82b660ad9037c2f3cad6b6f6512424ea5431a05de5a20a4704bd446841 
[ルート@ awei-01〜]#]ドッキングウィンドウの画像
リポジトリタグ画像のID CREATED SIZEの
centos6最新730dac82b660 58秒前
512MBcentos最新300e315adb2f4週間前209MBubuntu
最新f643c72bc2526週間前72.9MB
  • 既存の画像をファイルとしてエクスポートします

docker save -o export name image name

[root @ awei-01〜] #docker save -o centos.tar.gz centos 
[root @ awei-01〜] 
#ls 1.php centos-6-x86-minimal.tar.gz data.txt rpmbuild 
anaconda-ks .cfg centos.tar.gz memcache-2.2.3.tgz yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
  • このファイルを使用して、ローカルミラーを復元します

docker load --inputaming-centos.tarまたはdockerload <aming-centos.tar

[root @ awei-01〜] #docker load --input centos.tar.gz  
2653d992f4ef:Loading layer [========================== ========================>] 216.5MB / 216.5MB
ロードされた画像:centos:latest

  • docker push image_name //独自の画像をdockerhubの公式ウェブサイトにアップロードできますが、最初にユーザーを登録し、後で必要になった場合は調査する必要があることが前提です。


おすすめ

転載: blog.51cto.com/12922638/2591037