Dockerコンテナの基本的な学習

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も検索します。 。

Dockerはnginxと静的ウェブサイトをデプロイします

Dockerは独自のコンテナを実行します

おすすめ

転載: blog.csdn.net/YHM_MM/article/details/109266298