5

この質問の原因は、docker プライベート レジストリからのプルが非常に遅いということです。

次に、wgetレジストリのリモート API を介した速度は問題ないことがわかりました。

これで、1 つの画像のレイヤーを取得できます。Dockerデーモンにイメージとしてロードするにはどうすればよいですか?

PS:

ここで、 layer.0docker load < layer.0はすべてのレイヤーのベース イメージです。

そして以下のような結果。

FATA[0015] エラー: open /home/docker/data/docker/tmp/docker-import-087506163/repo/etc/json: no such file or directory

4

1 に答える 1

6

すべてのレイヤーは差分であり、「イメージ」を完成させるためにすべてをロードする必要があります。すべてのレイヤーを含む単一の画像ファイルはありません。これは仕様によるものです。これらのレイヤーを後続の画像のベースとして共有できるためです。

docker export と docker import を使用してイメージを平坦化できます。これにより、既存のすべてのレイヤーが取得され、それらが単一のファイル システム イメージとして tarball にエクスポートされます。次に、インポートすると、画像として再び読み込まれます。

手順:

docker run --name mycontainerコンテナーを作成するためのイメージ (コンテナー名 mycontainer は単なる例です)

docker export --output=mycontainer.tar mycontainerコンテナーを tarball に (mycontainer.tar は単なる例です)

cat mycontainer.tar | docker import - mynewimage:importedtarball (イメージ名 mynewimage:imported は単なる例です)

ドキュメント:

于 2015-01-16T14:23:58.447 に答える