ホームページ  >  記事  >  運用・保守  >  Dockerに画像を保存する方法

Dockerに画像を保存する方法

PHPz
PHPzオリジナル
2023-04-19 14:11:089441ブラウズ

クラウド コンピューティングの急速な発展に伴い、コンテナ化テクノロジはますます注目を集めています。コンテナ化テクノロジーの代表である Docker は強力で使いやすく、アプリケーションを迅速に構築、公開、デプロイするのに役立ちます。

Docker では、ミラーリングは重要な概念です。イメージは、アプリケーションに必要なすべてのコード、ランタイム、ライブラリ、構成などが含まれる軽量でポータブルなソフトウェア パッケージです。 Docker イメージを通じて、アプリケーションを簡単にデプロイして実行できます。

ただし、実際に使用する場合はDockerイメージを管理・保存する必要があります。この記事ではDockerが画像を保存する仕組みを詳しく紹介します。

1. Docker イメージの保存

Docker イメージは複数のレイヤーで構成されています。 Docker イメージをダウンロードするとき、実際にはイメージの複数のレイヤーがダウンロードされます。これらのレイヤーは、Docker コンテナーで使用するために、ローカル ホストのストレージ デバイス上に読み取り専用形式で存在します。したがって、Docker イメージを保存する場合は、すべてのレイヤーを保存する必要があります。

Docker には、イメージを保存する 2 つの方法があります。tar パッケージとして保存する方法と、Docker Hub にプッシュする方法です。以下では、これら 2 つの方法の具体的な操作をそれぞれ紹介します。

  1. tar パッケージとして保存

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 ファイルとして。

  1. Docker Hub へのプッシュ

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 イメージを別のホストまたは環境で使用する必要がある場合、インポートまたはロードすることで使用できます。

  1. イメージのインポート

保存された 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
  1. Load image

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。