ドッカー紹介
公式サイト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と従来の仮想化の比較
Dockerの利点
起動は非常に速く、数秒で実現します
高いリソース使用率、高い構成サーバーは何千ものドッカーコンテナーを実行できます
作成と構成が完了すると、配信と展開が高速になり、どこでも実行できます。
カーネルレベルの仮想化は、追加のhypevisorサポートを必要とせず、より高いパフォーマンスと効率を実現します
プラットフォームに強く依存せず、移行が容易
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の公式ウェブサイトにアップロードできますが、最初にユーザーを登録し、後で必要になった場合は調査する必要があることが前提です。