概要
DockerLinuxのインストール
Dockerの紹介
Dockerの公式ドキュメント
dockerGitHubアドレス
Dockerは、Go言語に基づくオープンソースのアプリケーションコンテナエンジンであり、Apache2.0プロトコルに準拠したオープンソースです。
Dockerを使用すると、開発者はアプリケーションと依存パッケージを軽量でポータブルなコンテナーにパッケージ化し、仮想化も可能な一般的なLinuxマシンに公開できます。
コンテナーはサンドボックスメカニズムを完全に使用し、相互にインターフェイスはありません(iPhoneに似たアプリ)。さらに重要なことに、コンテナーのパフォーマンスのオーバーヘッドは非常に低くなります。
Docker思考
1.コンテナ
2.標準化->輸送、保管、APIインターフェース
3.分離
特徴:
1.アプリケーションを迅速かつ一貫して提供します
2.応答性の
高い展開と拡張3.同じハードウェアでより多くのワークロードを実行します
dockerはどのような問題を解決しますか
1.オペレーティング環境の不整合を解決します
2.アプリケーションの分離を解決します
3.サーバーリソースのスケーラビリティを解決します
Dockerの原則
鏡像
runoob @ runoob:〜$ dockerイメージ
リポジトリ | 鬼ごっこ | 画像ID | 作成した | サイズ |
---|---|---|---|---|
ubuntu | 14.04 | 90d5884b1ee0 | 5日前 | 188 MB |
php | 5.6 | f40e9e0f10c8 | 9日前 | 444.8 MB |
nginx | 最新 | 6f8d099c3adc | 12日前 | 182.7 MB |
mysql | 5.6 | f2e8d6c772c0 | 3週間前 | 324.6 MB |
httpd | 最新 | 02ef73cf1bc0 | 3週間前 | 194.4 MB |
ubuntu | 15.10 | 4e3b13c8a266 | 4週間前 | 136.3 MB |
こんにちは世界 | 最新 | 690ed74de00f | 6ヶ月前 | 960 B |
トレーニング/ webapp | 最新 | 6fae60ef3446 | 11ヶ月前 | 348.8 MB |
上記は1つずつミラーであり、コマンドを介して直接実行できます。
倉庫
中央ミラーウェアハウス:設置する必要のあるマシンでミラーを引くだけです。
国内ミラーウェアハウス:アリミラーウェアハウス、NetEase Fengchaoなどはすべて登録する必要があり、独自のミラーを公開することもできます。
容器
ネットワークポートを介してDockerコンテナーで実行されているサービスにアクセスするには、-Pまたは-pパラメーターを使用してポートマッピングを指定できます。
1.アプリケーションを作成します
。Pythonアプリケーションのコンテナーを作成します。
runoob @ runoob:〜$ docker run -d -P training / webapp python app.py
fce072cc88cee71b1cdceb57c2821d054a4a59f67da6b416fceb5593f059fc6d
2.バインドポート:-p :指定されたホストポートにバインドされるコンテナーの内部ポートです。
docker run -d -p 5000:5000 training / webapp python app.py3
。コンテナバインディングホストネットワークアドレス
runoob @ runoob:〜$ docker run -d -p 127.0.0.1:5001:5000 training / webapp python app.py
4 。コンテナー
dockerrun -d -p 127.0.0.1:5000:5000/udp training / webapp pythonapp.pyを実行し
ます。5 。アクセス
6.バインディングステータス
dockerポートを確認しますadoring_stonebraker50007
。コンテナー名
runoob @ runoob:〜を指定します。 $ docker run -d -P --name runoob training / webapp python app.py8
。新しいdocker
ネットワークを作成します$ docker network create -d bridge test-net
9.アプリケーションを新しく作成したネットワークにバインドします。他のコンテナーはネットワークに移動できます
。dockerrun-itd--name test1 --network test-net ubuntu / bin / bash
10.コンテナー間でpingを実行して、ネットワークがインターワーキング
DNSの構成:
ホストの/etc/docker/daemon.jsonファイルに以下を追加して、すべてのコンテナーのDNSを設定します。+
{ "dns":[ "114.114.114.114"、"8.8.8.8" ] }コンテナーを開始しますDNSは、114.114.114.114および8.8.8.8として自動的に構成されます。構成後、有効にするにはdockerを再起動する必要があります。DNSのステータスを表示します。dockerrun-it--rm ubuntu cat etc / resolve.conf11 。指定したコンテナにDNSを設定します。dockerrun-it--rm -h host_ubuntu --dns = 114.114.114.114 --dns- search = Test.com ubuntuパラメーターの説明:-rm:コンテナーが終了すると、コンテナー内のファイルシステムが自動的にクリーンアップされます。-hHOSTNAMEまたは--hostname = HOSTNAME:コンテナのホスト名を設定します。コンテナの/ etc / hostnameおよび/ etc / hostsに書き込まれます。
--Dns = IP_ADDRESS:DNSサーバーをコンテナーの/etc/resolv.confに追加し、コンテナーがこのサーバーを使用して/ etc / hostsにないすべてのホスト名を解決できるようにします。
--Dns-search = DOMAIN:コンテナの検索ドメインを設定します。検索ドメインが.example.comに設定されている場合、hostという名前のホストを検索すると、DNSはホストだけでなくhost.example.comも検索します。 。