記事ディレクトリ
1.国内のDockerイメージウェアハウス
誰もが知っている理由で、外国のDockerリポジトリからのプルイメージのダウンロード速度は実際には非常に遅いです。一部の国内の一流メーカーとDocker関係者は、中国でいくつかのDockerイメージリポジトリを無料で提供しており、国内のイメージリポジトリを使用するダウンロード速度が大幅に向上します。例えば:
- Dockerによって正式に提供された中国のレジストリミラー
- Alibaba Cloud Accelerator
- DaoCloudアクセラレータ
国内のミラーウェアハウスソースの構成方法を説明するために、Dockerによって公式に提供されている中国のレジストリミラーを例として取り上げます。/etc/docker/daemon.json
ファイルの内容を次の内容に変更します。ファイルが存在しない場合は、新しいファイルを作成します。
{
"registry-mirrors":["https://registry.docker-cn.com"]
}
構成が完了したら、Dockerサービスを再起動します
sudo systemctl restart docker
プルミラーをもう一度ダウンロードすると、以前よりもはるかに高速であることがわかります。とても簡単です!
3.サーチミラー
Docker Hubには、サードパーティによってアップロードされた多くの公式画像と高品質の画像があります。以下では、これらの画像を検索して取得する方法を紹介します。
-
最初の方法は、Dockerハブで直接ミラーを検索することです。たとえば、redisミラーを検索する場合、下の緑色のシールド記号は公式のredisによって提供されるミラーであり、セキュリティと安定性が保証されます。
-
2番目の方法は
docker search
、ミラーを検索するために使用できます。
このコマンドを使用してミラーを検索することもできます。たとえば、WebサービスとしてTomcatイメージが必要です。
docker searchコマンドを使用してtomcatを検索し、適切な画像を見つけることができます。
docker search redis
OFFICIALフィールド値がOKのレコードが公式画像です。
第四に、鏡を引く
Dockerイメージリポジトリからイメージを取得するコマンドはdockerpullです。コマンドの形式は次のとおりです。
docker pull [选项] [Docker Registey 地址[:端口号]/] 镜像名[:标签]
特定のオプションは、docker pull --helpコマンドで確認できます。ここでは、イメージ名の形式について説明します。
- Dockerイメージウェアハウスアドレス:アドレスの形式は通常
<域名/IP>[:端口号]
です。デフォルトのミラーリポジトリを使用する場合は、この記事の最初のセクションの構成など、リポジトリアドレスを記述する必要はありません。 - 画像名:画像名は2つの部分で構成されています
<用户名>/<软件名>
。一般的に、公式ソフトウェアによって提供される画像には、通常、ユーザー名がありません。
例:Dockerプルを介して最新バージョンのredisイメージを取得する
docker pull redis:latest
に相当
docker pull redis
5.リストミラー
ダウンロードしたイメージを一覧表示するには、dockerimagelsコマンドを使用します。
docker images //等同于docker image ls
- リポジトリ:リポジトリとミラー名
- TAG:タグとバージョン番号
- 画像ID:画像ID、画像の一意の識別子
- 作成済み:イメージのビルド時間
- サイズ:画像ファイルのサイズ
6.ぶら下がっている鏡
ミラーリストには、リポジトリ名/ミラー名もラベル/バージョン番号も表示されていない特殊なミラーが存在する場合があります<none>
。このミラーは、次のエントリに示すように、通常、ダングリングミラーと呼ばれます。
ぶら下がっている鏡の理由は何ですか?
実際、ぶら下がっているイメージには、最初にプルしてダウンロードしたときのイメージ名とラベルバージョン番号名があります。たとえば、redisはdocker imageバージョン6.0を正式にリリースしました。しばらくすると、6.0バージョンのイメージにセキュリティ上の問題がある可能性があるため、再構築されました。バージョン6.0のイメージ。
ミラー名redisと6.0のTAGはどちらも新しくリリースされたミラーで占められており、古いバージョンのミラーはミラー名とラベルを失い、ぶら下がっているミラーになります。
一般的に、ぶら下がっている画像はその価値を失い、自由に削除できます。次のコマンドを使用して削除します。
docker image prune
セブン、ローカルミラーを削除します
次の2つの構文は、ミラー削除の操作を完了することができます。
docker rmi [选项] <镜像1> [<镜像2>.....]
docker image rm <镜像1> [<镜像2>.....]
上記の構文では、画像IDと画像名を画像の一意の識別子として使用して画像を削除できます。
画像を削除する前に、削除した画像がどのコンテナでも使用されていないことを確認する必要があります。使用されていない場合、画像を削除できません。
以下に示すように、hello-worldイメージの応答結果を削除します。
# docker rmi hello-world
Untagged: hello-world:latest
Untagged: hello-world@sha256:bfea6278a0a267fad2634554f4f0c6f31981eea41c553fdf5a83e95a41d40c38
Deleted: sha256:feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412
Deleted: sha256:e07ee1baac5fae6a26f30cabfe54a36d3402f96afda318fe0a96cec4ca393359
8、ミラーのインポートとエクスポート
saveサブコマンドを使用して、ローカルリポジトリのイメージをtarファイルとして現在のディレクトリに保存します。
docker save -o <自定义包名>.tar <镜像名称>
たとえば、次のコマンドはhello-worldイメージをhelloworld.tarとしてエクスポートし、現在のディレクトリに保存します
docker save -o helloworld.tar hello-world
hello-worldイメージを別のサーバーにインポートできます。インポート方法は次のとおりです。
方法1をインポートします(詳細情報を出力しません):
# docker load -i helloworld.tar
インポート方法2(出力の詳細):
# docker load < helloworld.tar
画像のエクスポートとインポート機能は画像のバックアップに使用できます。また、このtarパッケージは、画像リポジトリを持たない企業で画像ファイルを転送するためにも使用できます。