ミラードッキングウィンドウドッキングウィンドウを-02-使用

ドッキングウィンドウミラーを使用してください

導入前、私たちは、ミラーがドッカーの3つの成分の一つであることを知っています。

ミラーがローカルに存在しない場合、ドッカー倉庫から鏡像を引っ張り、ローカルコンテナを実行する前に、対応するミラードッカーの存在を必要とします。

この章では、画像、詳細を説明します。

  • 倉庫から画像を取り込みます。
  • 経営陣は、ローカルホスト上でミラーリング。
  • これは、ミラーリングの基本原理を説明しています。

鏡を見ます

前に述べたように、ドッカーハブ高品質の画像が多数に使用することができ、ここでは、これらの画像を取得する方法について言います。

ドッカーミラー倉庫からの画像コマンドをフェッチしますdocker pullコマンドの形式は次のとおりです。

docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

特定のオプションができdocker pull --help、ここではイメージ名のフォーマットについての話、参照コマンド。

  • ドッカーミラー倉庫住所:アドレスは一般的です<域名/IP>[:端口号]デフォルトのアドレスは、ドッカーハブです。
  • 倉庫名:前に言ったように、ここでのリポジトリ名は、二段階の名前でだ、それはあります<用户名>/<软件名>ドッカーハブの場合は、ユーザー名を与えない場合、デフォルトはlibrary、公式の画像です。

たとえば、次のコマンドは、例えば、.NETのコアを引っ張ります

docker pull mcr.microsoft.com/dotnet/core/samples

あなたは見ることができます

Using default tag: latest
latest: Pulling from dotnet/core/samples
0a4690c5d889: Pull complete 
ae76a3838a0a: Pull complete 
12cde3cd37d0: Pull complete 
0475f03e1ea6: Pull complete 
f3b05975ab9f: Pull complete 
41f9afd60fc6: Pull complete 
Digest: sha256:d822398fe8ea6ab981c09b03512a3112322eebf925fe2d82fc60f73f68409484
Status: Downloaded newer image for mcr.microsoft.com/dotnet/core/samples:latest
mcr.microsoft.com/dotnet/core/samples:latest

ラン

画像では、我々はこのイメージベースで開始し、コンテナを実行することができます。上記のdotnet samples例:

docker run -it --rm -p 8000:80 --name aspnetcore_sample mcr.microsoft.com/dotnet/core/samples:aspnetapp
  • -itこれら2つのパラメータは、である-i:インタラクティブな操作、一方が-t端子。私たちは、ここで入力する予定bashのコマンドを実行し、確認するために結果を返すために、私たちは、対話型端末を必要としています。
  • --rm:このパラメータは、容器の出口は削除されます後と言うことです。デフォルトでは、トラブルシューティングのための需要は、コンテナは手動でない限り、すぐに削除されません終了しますdocker rm私たちはただ、トラブルシューティングおよびリテンション結果を必要としない、結果を見て、コマンドを実行し、その使用ここにある--rmスペースを無駄にしないようします。
  • -p:このパラメータは、ドッキングウィンドウコンテナポートマッピングされています。
  • mcr.microsoft.com/dotnet/core/samples:aspnetapp:これは、mcr.microsoft.com/dotnet/core/samples:aspnetapp鏡像基づい出発容器。
  • name :このパラメータは、コンテナの操作のために名前を指し、

このコマンドを実行した後:

warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
      No XML encryptor configured. Key {06d68035-9860-41a9-8871-f29123ad5d92} may be persisted to storage in unencrypted form.
Hosting environment: Production
Content root path: /app
Now listening on: http://[::]:80
Application started. Press Ctrl+C to shut down.

外容器でWebプロジェクト8080ポートを介してアクセスすることができます。

することができますCtrl_Cオフにすること、それができる-dコンテナパラメータのバックグラウンドで実行します。

上場ミラー

すでに画像をダウンロードリストするには、使用することができますdocker image lsまたはdocker imagesコマンド。

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              fce289e99eb9        7 months ago        1.84kB
[root@localhost ~]# docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              fce289e99eb9        7 months ago        1.84kB

リストには含まれてい仓库名标签镜像 ID创建时间所占用的空间

デフォルトでは、docker image ls我々はこれらの要素が必要になりますすべての時間を出力完全な形になるが、ではありません。我々は使用することができ-q、すべてを表示します镜像ID

$ docker image ls -q
5f515359c7f8
05a60462f8ba
fe9198c04d62
00285df0df87
f753707788c5
f753707788c5
1e0c3dd64ccd

たとえば、次のコマンドは、ミラーの直接の結果を一覧表示し、唯一のミラーIDや倉庫の名前が含まれています:

$ docker image ls --format "{{.ID}}: {{.Repository}}"
5f515359c7f8: redis
05a60462f8ba: nginx
fe9198c04d62: mongo
00285df0df87: <none>
f753707788c5: ubuntu
f753707788c5: ubuntu
1e0c3dd64ccd: ubuntu

又は等角ディスプレイを形成することを意図し、そしてそれをヘッダ行を有しており、デフォルトではなく、列のその定義:

$ docker image ls --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
IMAGE ID            REPOSITORY          TAG
5f515359c7f8        redis               latest
05a60462f8ba        nginx               latest
fe9198c04d62        mongo               3.2
00285df0df87        <none>              <none>
f753707788c5        ubuntu              18.04
f753707788c5        ubuntu              latest

ローカルミラーを削除します

ローカルミラーを削除したい場合は、使用することができますdocker image rmまたは使用docker rmi形式でコマンドを:

$ docker image rm [选项] <镜像1> [<镜像2> ...]

例えば、我々は非常に少ないミラーを持っています:

$ docker image ls
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
centos                      latest              0584b3d2cf6d        3 weeks ago         196.5 MB
redis                       alpine              501ad78535f0        3 weeks ago         21.03 MB
docker                      latest              cf693ec9b5c7        3 weeks ago         105.1 MB
nginx                       latest              e43d811ce2f4        5 weeks ago         181.5 MB

我々はまた、既知のフル画像ID、使用することができます长 IDミラーを削除することを。長いIDを使用することができ、スクリプトを使用したが、マニュアル入力あまりにも疲れたとき、とても多くの時間がある短 ID画像を削除します。docker image lsデフォルトはすでにそれを区別するのに十分な長さ、他のミラーで、短いIDで、一般的に最初の3つの文字の上に表示されます。

我々は削除する場合たとえば、ここでは、redis:alpineミラーを、あなたが行うことができます。

$ docker image rm 501
Untagged: redis:alpine
Untagged: redis@sha256:f1ed3708f538b537eb9c2a7dd50dc90a706f7debd7e1196c9264edeea521a86d
Deleted: sha256:501ad78535f015d88872e13fa87a828425117e3d28075d0c117932b05bf189b7
Deleted: sha256:96167737e29ca8e9d74982ef2a0dda76ed7b430da55e321c071f0dbff8c2899b
Deleted: sha256:32770d1dcf835f192cafd6b9263b7b597a1778a403a109e2cc2ee866f74adf23
Deleted: sha256:127227698ad74a5846ff5153475e03439d96d4b1c7f2a449c7a826ef74a2d2fa
Deleted: sha256:1333ecc582459bac54e1437335c0816bc17634e131ea0cc48daa27d32c75eab3
Deleted: sha256:4fc455b921edf9c4aea207c51ab39b10b06540c8b4825ba57b3feed1668fa7c7

また、使用することができ镜像名、つまり<仓库名>:<标签>、ミラーを削除するには、。

$ docker image rm centos
Untagged: centos:latest
Untagged: centos@sha256:b2f9d1c0ff5f87a4743104d099a3d561002ac500db1b9bfa02a783a46e0d366c
Deleted: sha256:0584b3d2cf6d235ee310cf14b54667d889887b838d3f3d3033acd70fc3c48b8a
Deleted: sha256:97ca462ad9eeae25941546209454496e1d66749d53dfa2ee32bf1faabd239d38

タグなし和削除されました

これらのコマンドを実行し、上記の情報の出力を見れば、あなたは動作が2つのカテゴリに分類され、削除わかります、1はUntagged、他のですDeleted私たちは、ユニークな画像がそのIDとサマリーで識別し、前に導入され、ミラーは複数のラベルを持つことができます。

私たちは、ミラーを削除するには、上記のコマンドを使用する際に、ミラーは、ラベルの削除を要求したという事実です。行うために必要なすべてのだから、まず我々の要求は、タグが削除されているミラー満たすことである、これは私たちが見たものであるUntagged情報を。ミラーは、複数のラベルに対応することができるので、我々は指定されたラベルを削除したときに、ラベルは、この画像に他の点を有していてもよいので、このような場合には、その後、Delete問題は発生しないであろう。だから、すべてではないが、docker image rmミラーの動作を削除する必要があります、のみだけラベルがキャンセルされる場合があります。

ミラーは、すべてのタグが取り消された場合は、画像は、このように削除の動作をトリガー、存在意義を失う可能性があります。ストレージ構造は、多層ミラーであるので、削除を削除する場合は、上層から順に下地層の方向であると判定されます。ミラーミラーの多層構造を再利用することが非常に容易になり、そのため層の画像であるいくつかの他のカレントミラーに依存する可能性があります。この場合は、層がまだ動作をトリガしません削除します。現在のレイヤーに応じて、何の層が存在しなくなるまで、唯一の本当のは、現在のレイヤーを削除します。他のラベルが明確にミラーを指していない理由を時々疑問に思う理由、それはですが、その理由は、それがまだ存在しますが、なぜ、時には自分自身の層数を見つけて削除するdocker pull層の数は同じではありません見ることが理由。

画像依存性に加えて、容器は、画像に依存していることに留意すべきです。便利なコンテナ(コンテナが実行されていない場合でも)、この画像スタートがある場合、同じことが、このイメージを削除することはできません。前に述べたように、容器は、メモリを実行するために、このような多層構造からなる一つの層と結合されたミラーベース、貯蔵容器です。このように、コンテナの画像が依存する場合、必然的に失敗につながるが削除されます。コンテナが必要とされていない場合は、まずそれらを削除する必要があり、その後、画像を削除するために戻ってきます。

おすすめ

転載: www.cnblogs.com/xuemiao/p/11651945.html