クラウド コンピューティングの急速な発展に伴い、コンテナ化テクノロジはますます注目を集めています。コンテナ化テクノロジーの代表である Docker は強力で使いやすく、アプリケーションを迅速に構築、公開、デプロイするのに役立ちます。
Docker では、ミラーリングは重要な概念です。イメージは、アプリケーションに必要なすべてのコード、ランタイム、ライブラリ、構成などが含まれる軽量でポータブルなソフトウェア パッケージです。 Docker イメージを通じて、アプリケーションを簡単にデプロイして実行できます。
ただし、実際に使用する場合はDockerイメージを管理・保存する必要があります。この記事ではDockerが画像を保存する仕組みを詳しく紹介します。
1. Docker イメージの保存
Docker イメージは複数のレイヤーで構成されています。 Docker イメージをダウンロードするとき、実際にはイメージの複数のレイヤーがダウンロードされます。これらのレイヤーは、Docker コンテナーで使用するために、ローカル ホストのストレージ デバイス上に読み取り専用形式で存在します。したがって、Docker イメージを保存する場合は、すべてのレイヤーを保存する必要があります。
Docker には、イメージを保存する 2 つの方法があります。tar パッケージとして保存する方法と、Docker Hub にプッシュする方法です。以下では、これら 2 つの方法の具体的な操作をそれぞれ紹介します。
Docker には、イメージを tar パッケージとして保存するための保存コマンドが用意されています。このコマンドの構文は次のとおりです。
docker save [OPTIONS] IMAGE [IMAGE...]
このうち、OPTIONS はオプションのパラメータ、IMAGE は保存するイメージの名前または ID です。たとえば、centos:7 イメージを tar パッケージとして保存する場合は、次のコマンドを実行できます。
docker save -o centos7.tar centos:7
このコマンドは、centos:7 イメージのすべてのレイヤーを centos7.tar ファイルとして保存します。 -o パラメータは出力ファイルのパスと名前を指定します。保存後、tarball を他のホストまたはストレージ デバイスに転送して、他の環境でイメージを使用できます。
複数のイメージを保存する必要がある場合は、コマンドで複数のイメージ名または ID を指定できます。たとえば、centos:7 と nginx:latest の 2 つのイメージを保存したい場合、次のコマンドを実行できます:
docker save -o images.tar centos:7 nginx:latest
このコマンドは、centos:7 と nginx:latest イメージのすべてのレイヤーを保存します。 image.tar ファイルとして。
Docker Hub は、Docker が提供する公式イメージ リポジトリです。作成したイメージをこのリポジトリにプッシュして、他の場所で使用できるようにすることができます。 使用。
イメージを Docker Hub にプッシュする前に、Docker Hub アカウントを作成し、そのアカウントにログインする必要があります。アカウントをお持ちでない場合は、Docker Hub Web サイトでアカウントを登録できます。
Docker Hub にログインした後、次のコマンドを実行してイメージを Docker Hub にプッシュできます。
docker login docker tag IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG] docker push NAME[:TAG]
このうち、IMAGE はプッシュするイメージの名前または ID です。 TAG はイメージのバージョン番号です。デフォルトは最新です。REGISTRYHOST は Docker イメージ ウェアハウスのアドレスです。USERNAME は Docker Hub アカウントのユーザー名です。NAME はプッシュ先のイメージ ウェアハウスの名前です。
たとえば、ローカルの myservice イメージを Docker Hub 上の myservice イメージ ウェアハウスにプッシュする場合は、次のコマンドを実行できます:
docker login docker tag myservice username/myservice:latest docker push username/myservice:latest
このコマンドは、myservice イメージのラベルをユーザー名として再設定します。 /myservice :latest を作成し、Docker Hub 上の myservice イメージ ウェアハウスにプッシュします。
2. Docker イメージのインポートとロード
保存した Docker イメージを別のホストまたは環境で使用する必要がある場合、インポートまたはロードすることで使用できます。
保存された Docker イメージ tar パッケージを別のホストまたはストレージ デバイスから取得した場合、import コマンドを使用して tar パッケージを Docker イメージとしてインポートできます。 。このコマンドの構文は次のとおりです。
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
このうち、OPTIONS はオプションのパラメータ、file|URL|- はインポートする tar パッケージのパスまたは URL、REPOSITORY はインポートされたイメージの名前、 TAG はイメージのバージョンです。
たとえば、/home/user/images/centos7.tar から centos:7 イメージをインポートする場合は、次のコマンドを実行できます。
docker import /home/user/images/centos7.tar centos:7
このコマンドは、 centos7.tar ファイルを centos :7 ミラーにコピーします。このイメージのバージョン番号を v1 として指定する場合は、次のコマンドを実行できます:
docker import /home/user/images/centos7.tar centos:v1
Docker からダウンロードして保存した場合ハブまたはその他のイメージ ウェアハウス Docker イメージは、load コマンドを使用して Docker イメージとしてロードできます。このコマンドの構文は次のとおりです。
docker load [OPTIONS] < file.tar
このうち、OPTIONS はオプションのパラメータで、file.tar はロードされる tar パッケージのパスです。
たとえば、/home/user/images/images.tar から 2 つのイメージ centos:7 と nginx:latest をロードする場合は、次のコマンドを実行できます:
docker load -i /home/user/images/images.tar
Thisコマンドはイメージをロードします。.tar ファイル内の 2 つのイメージは、centos:7 と nginx:latest です。ロードが完了すると、これら 2 つのイメージをローカル ホストで使用できるようになります。
3. まとめ
この記事では主にDockerイメージの保存、インポート、読み込みについて紹介します。これらの方法により、Docker イメージの管理と共有が容易になり、アプリケーションのデプロイと配信の効率が向上します。
以上がDockerに画像を保存する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。