1、船舶エンジンのコア技術
名前空間:コンテナ実現プロセス、ネットワーク、メッセージング、およびファイルシステムの分離のホスト名。
cgroup:クォータとリソースの尺度を達成するために、
図2に示すように、特性
ファイルシステムの分離:各コンテナのプロセスは完全に別のルートファイルシステムで実行されます。
リソースの分離:異なるコンテナのニーズに応じて、システムリソースの割り当て。
ネットワークの分離:それは、独自のコンテナミグサイバースペース、仮想インターフェイスとIPアドレスで動作します。
ロギング:ドッカー電話、各容器のための標準的なプロセスフローを記録する(標準出力/標準エラー出力/ STDIN)、リアルタイムまたはバッチ検索の検索のために、
変更管理:コンテナファイルシステムを変更するには、新しいイメージに提出することができる、そしてテンプレートまたは手動を使用する必要がなくなり、より多くのコンテナを作成するために再利用することができます。
対話型シェル:ドッカーは、標準入力とし、任意の容器の関連する仮想端末に割り当てることができます。
3、説明
ドッキングウィンドウの画像及びデータは、/ var / lib /ドッキングウィンドウのディレクトリに格納されています
4、展開
[ルート@ kazihuo〜]#wgetの-O /etc/yum.repos.d/Centos_Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[ルート@ kazihuo〜]#yumを-yインストールドッカ-IO
[ルート@ kazihuo〜]ドッキングウィンドウを起動しsystemctl#
[ルート@のkazihuo〜]#]ドッキングウィンドウの検索CentOSの
ドッカーハブから鏡で予選を検索する#
[ルート@のkazihuo〜]#]ドッキングウィンドウプルCentOSの
#プルドッカーハブから指定されたイメージを取得または更新
ローカルまたは指定されたイメージを導入します。[root @のkazihuo〜]#]ドッキングウィンドウの負荷-iのCentOS-最新-ドッカ - image.tar注:#1 -iは:ロードされたイメージアーカイブを指定します。
5、操作
すべてのローカルミラーを見ます:
[ルート@ kazihuo〜]#]ドッキングウィンドウの画像
コンテナを実行します。
[ルート@のkazihuo〜]#猫の/ etc / redhatのリリース
CentOSのLinuxのリリース1511年7月2日(コア)
[ルート@ kazihuo〜]#]ドッキングウィンドウの実行-it --name =テスト-CentOSのdocker.io/centos:latest / binに/ bashの
#1 -I:インタラクティブモード容器で実行; -t:容器は、擬似入力端子を再割り当て; -dは、コンテナがバックグラウンドで実行されている、保護モードを表す; - 名前は、コンテナの名前です。
docker.io/centos:latest形式の画像名:バージョン、bashのコマンドラインを入力する/ binに/ bashの
[ルート@のa94e89783f11 /]#猫の/ etc / redhatのリリース
CentOSのLinuxのリリース1708年7月4日(コア)
長い目で見れば:
[ルート@ kazihuo〜]#のJOB = $(ドッカ実行-d CentOSの/ binに/ bashの-cの "真の間、エコーのHello Worldを行い、睡眠1;済")
#-D:背景容器、及び容器のIDを返す。-c:ペンディング
[ルート@ kazihuo〜]#エコーの$ JOB
64f37b2fb689076e9b3c169ab9ab4505448c394388c312643a6d54f05fda3756
コンテナログは、読み取ります。
[ルート@ kazihuo〜]#]ドッキングウィンドウのログの$ JOB
こんにちは世界
......
こんにちは世界
こんにちは世界
コンテナの実行を表示します。
[ルート@のkazihuo〜]#]ドッキングウィンドウのPS
すべてのコンテナを表示します。
[ルート@のkazihuo〜]#ドッキングウィンドウのps -a
コンテナを強制終了します。
[ルート@のkazihuo〜]#ドッキングウィンドウ(容器id)を64f37b2fb689を殺します
開始、停止、再起動
[ルート@ kazihuo〜]#]ドッキングウィンドウの開始64f37b2fb689
[ルート@のkazihuo〜]#]ドッキングウィンドウ停止64f37b2fb689
[ルート@のkazihuo〜]#ドッカ再起動64f37b2fb689
コンテナを削除します。
[ルート@のkazihuo〜]#ドッカRM 64f37b2fb689
注:最初の容器を取り外す前に、コンテナを実行するには、削除するか、-fフォースを追加し、閉じています
ビューコンテナネットワーク:
[kazihuo〜@ルート]#ifconfigコマンド
フラグ= 4163 <UP、BROADCAST、RUNNING、マルチキャスト> MTU:1500 docker0
INET 172.17.0.1ネットマスク255.255.0.0放送0.0.0.0
INET6 FE80 :: 42:8FFF:FED0:be33のprefixlen 64 scopeid 0x20の<リンク>
エーテル02:42:8F:D0:である:33 txqueuelen 0(イーサネット)
RXパケット28641バイト1172564(1.1 MIB)
RXエラー0 0オーバラン0フレーム0を落としました
TXパケット30689バイト105377292(100.4 MIB)
TXエラーは0 0オーバラン0キャリア0衝突0を落としました
構成コンテナのrootパスワード:
[ルート@ 01b16f44a3f9〜]#は000000をエコー| passwdを--stdinルート
注意:いいえデフォルトのパスワードを
5、ミラーリングドッカ
方法1:ドッカーは、容器の画像の現在の状態を保存するために、#をコミットは、対応する画像を生成します
方法2:ドッキングウィンドウのビルド番号は、自動化された画像Dockerfile利用します
1つの実用的な操作方法:
[ルート@のkazihuo〜]#]ドッキングウィンドウの実行-ti CentOSの/ binに/ bashの
[ルート@のc4e377bf5c01〜]#yumを-yネットツールをインストール
[ルート@のc4e377bf5c01〜]#出口
[ルート@ kazihuo〜]#]ドッキングウィンドウの画像
リポジトリタグ画像ID CREATED SIZE
docker.io/centos最新3fa822599e10 5週間前の203.5メガバイト
[ルート@のkazihuo〜]#ドッキングウィンドウのps -a
CONTAINER IDイメージコマンドCREATED STATUSポートの名称
c4e377bf5c01 CentOSの "/ binに/ bashの" 18分前に終了しました(0)について分前reverent_kare
[ルート@のkazihuo〜]#]ドッキングウィンドウc4e377bf5c01のCentOSのコミット:ネットツール
SHA256:c45c0a7b6a1a2d0db6c94d5d932b741f408507b86da50ab41280421258d86e68
[ルート@ kazihuo〜]#]ドッキングウィンドウの画像
リポジトリタグ画像ID CREATED SIZE
CentOSのネットツールc45c0a7b6a1a 15秒前350.3メガバイト
docker.io/centos最新3fa822599e10 5週間前の203.5メガバイト
[ルート@ kazihuo〜]#]ドッキングウィンドウの実行-tiのCentOS:ネットツール/ binに/ bashの
[ルート@ 0f1037105498 /]#回転数-qaのnet-tools
net-tools-2.0-0.22.20131004git.el7.x86_64
方法2実際の操作:
[ルート@のkazihuo〜]#のMKDIR /ドッキングウィンドウビルド
[ルート@のkazihuo〜]#のCD /ドッキングウィンドウビルド/
[ルート@ kazihuo /ドッキングウィンドウビルド]#猫Dockerfile
CentOSのFROM
MAINTAINER kazihuo <[email protected]>
RUN yumをインストール-yのhttpd
start.sh /usr/local/bin/start.shを追加
index.htmlを/var/www/html/index.html ADD
コメント:
#から指定された画像に基づいて、
MAINTANER#ミラーの作成者
RUN番号のソフトウェアをインストールします
#ファイルを追加し、ファイルシステムに対応する<SRC>コピーパス<DEST>コンテナ、コンテナファイルとフォルダのアクセス権のすべてのコピーは07555、uidとgid 0です
[ルート@ kazihuo /ドッキングウィンドウビルド]#エコー "は/ usr / sbinに/ httpdの-DFOREGROUND"> start.sh
注:上記のhttpdを起動systemctlパフォーマンスに相当します
[ルート@のkazihuo /ドッキングウィンドウビルド]#chmodコマンドのA + X start.sh
[ルート@のkazihuo /ドッキングウィンドウビルド]#「がドッキングウィンドウのイメージのビルド、テストを」エコー> index.htmlを
新しいイメージの構文を作成、ビルド:
の独自の定義Dockerfileパス画像ファイル名:#ドッカーは-t父親のイメージ名を構築します
[ルート@のkazihuo /ドッキングウィンドウ-ビルド]#ドッキングウィンドウbulid -tのCentOS:httpdの。
[ルート@のkazihuo /ドッキングウィンドウビルド]#]ドッキングウィンドウの画像
リポジトリタグ画像ID CREATED SIZE
CentOSのhttpdの40aba19c5ebb 20秒前に327メガバイト
CentOSのネットツールc45c0a7b6a1a 35分前350.3メガバイト
docker.io/centos最新3fa822599e10 5週間前の203.5メガバイト
ドッカーイメージを公開します
この方法の一つ:
tarボールにイメージを保存します
方法2:
ドッカーハブにプッシュイメージ
実用的な操作方法:
タールパッケージに画像を保存します
構文:ローカルミラーミラー名の名前の.tarエクスポート-o保存ドッカ
-oのCentOS-のhttpd-ドッカ - image.tarのCentOSの保存[ルート@ kazihuo /ドッキングウィンドウビルド]#ドッキングウィンドウ:httpdの
[ルート@のkazihuo /ドッキングウィンドウビルド]#LSは
CentOSの-HTTPD-ドッキングウィンドウ-image.tar Dockerfile index.htmlをstart.sh
図8に示すように、容器ポートマッピング
CentOSを使用:のhttpd画像がコンテナを起動する、容器ポート80は、ドッカーの物理ポート9000にマッピングされます
[ルート@ kazihuo〜]#]ドッキングウィンドウの実行-d -p 9000:80件のCentOS:httpdの/ binに/ bashの-c /usr/local/bin/start.sh
01b16f44a3f96814c5368e417c07ef48fad2fe7013ff78718293ff012e97421b
[ルート@のkazihuo〜]#]ドッキングウィンドウのPS
CONTAINER IDイメージコマンドCREATED STATUSポートの名称
01b16f44a3f9のCentOS:httpdの "/ binに/ bashの-cは/ usr / LO" 23秒前に最大22秒0.0.0.0:9000->80/tcp elegant_hopper
[ルート@のkazihuo〜]#カールhttp://127.0.0.1:9000
ドッキングウィンドウイメージのビルド、テスト
[ルート@ kazihuo〜]#]ドッキングウィンドウの幹部-ti 01b16f44a3f9 / binに/ bashの
[ルート@の01b16f44a3f9〜]#エコーkazihuo> /var/www/html/test.html
[ルート@のkazihuo〜]#カールhttp://127.0.0.1:9000/test.html
kazihuo