Docker はイメージをエクスポートし、コンテナーはイメージ化されます

2 つの方法があり、1 つはコンテナーを使用する方法、もう 1 つはミラーを使用する方法です。

方法 1: コンテナーを介してイメージをエクスポートする

1 まず docker ps -a を使用して、このマシン上のすべてのコンテナを表示します

docker ps -a

2 画像のエクスポート

docker export コマンドを使用して、コンテナー ID に基づいてイメージをファイルにエクスポートします。

docker export 容器id > image.tar

上記のコマンドを実行すると、ls コマンドを使用して現在のディレクトリで image.tar を見つけることができます。

3 画像をインポートする

docker import コマンドを使用してこのイメージをインポートします

docker import 容器名 < image.tar

docker image コマンドを使用してイメージがインポートされているかどうかを確認します

docker images

方法 2: ミラーリングを使用する

1 Docker イメージを介してこのマシン上のすべてのイメージを表示します

docker imags

2 アップロードするイメージの ID を見つけ、docker save コマンドを使用してイメージをファイルとして保存します

docker save 镜像id > image.tar

docker save は複数のイメージを 1 つのファイルにパッケージ化できます

docker save -o image.tar 镜像1 镜像2

3 dockerloadを通じてイメージをロードします

docker load < image.tar

これら 2 つのオプションの違い

1. 異なるファイルサイズ

「export」でエクスポートした画像ファイルは、「save」で保存した画像よりもサイズが小さくなります。

2. 画像の名前を変更することはできますか?

docker import はイメージの新しい名前を指定できます

docker load はロードされたイメージの名前を変更できません

3. 複数の画像を 1 つのファイルに同時にパッケージ化することはできますか?

docker エクスポートはサポートされていません

docker 保存のサポート

4. ミラー履歴を含めるかどうか

エクスポート(インポート)はコンテナで取得したイメージを元に行われますが、再インポート時にはイメージの履歴やメタデータ情報が全て失われます(つまり、その時点でのコンテナのスナップショット状態のみが保存されます)。ロールバック操作は実行できません。

save で保存(ロード)した画像は、画像の履歴を失わず、前のレイヤーにロールバックできます。

5. さまざまなアプリケーションシナリオ

docker エクスポートの応用シナリオ: 主に基本イメージを作成するために使用され、例えば、ubuntu イメージからコンテナを起動し、ソフトウェアのインストールや設定を行った後、docker エクスポートを使用して基本イメージとして保存します。次に、このイメージを他の人に配布して、基本的な開発環境などに使用します。

docker save のアプリケーション シナリオ: アプリケーションが docker-compose.yml を使用して調整された複数のイメージの組み合わせであるが、デプロイしたいクライアント サーバーが外部ネットワークに接続できない場合。現時点では、 docker save を使用して使用するイメージをパッケージ化し、それをクライアント サーバーにコピーし、 docker load を使用してロードできます。

画像の名前変更

docker tag 存在的镜像名:tag caidingnu/镜像名称:tag

イメージをdockerhubにプッシュする

まず docker にログインし、アカウントとパスワードを入力します

docker login -u 用户名 -p 密码

イメージを Docker Hub にプッシュする

docker push <hub-user>/<repo-name>:<tag>

jar パッケージのミラーリング

docker build -t 镜像名:tag .   #点不能少 dockerfile的路径

コンテナミラーリング

sudo docker commit -a "" -m "new image" 容器id xxl:v0 
オプション 関数
-a 新しい画像の作成者を指定する
-c Dockerfile 命令を使用してイメージを作成する
-m イメージを生成するための指示を送信する
-p コミットするときはコンテナを一時停止します

おすすめ

転載: blog.csdn.net/caidingnu/article/details/130494178