ホームページ  >  に質問  >  本文

kubernetes - 关于docker镜像使用docker save命令打包出来的文件的完整性

需求:现在碰到一个需求,需要定期轮休某个目录,将其中的.tar文件使用docker load命令加载镜像

问题1:显然.tar文件要是使用 docker save 镜像名:版本 > abc.tar 这种形式打包出来的,才能被成功load回去。那么该如何检测.tar文件是否格式正确,且镜像内容完整。这样就能够将那些非docker save出来的文件删除。

问题2:该目录是需要用户上传.tar文件的。考虑到一些镜像save出来的.tar文件很大,那么上传的时间会比较多,如何判断某个.tar文件正是正在上传的,这样就不会将它删掉了。

不知道我表达清楚没有,各位大侠有什么好方法。

天蓬老师天蓬老师2757日前861

全員に返信(2)返信します

  • 高洛峰

    高洛峰2017-04-25 09:05:12

    docker saveエクスポートされたファイルは、実際には通常の圧縮ファイルです。この圧縮ファイルには、画像のすべての画像レイヤーと、画像の基本情報を含むマニフェスト ファイルが含まれています。マニフェスト ファイルにはすべてのイメージ レイヤーのハッシュ値が含まれており、これらの特徴値を使用してイメージ レイヤー ファイルが完全で正しいかどうかを確認できます。マニフェスト ファイルとすべてのイメージ レイヤー ファイルの内容を確認することで、エクスポートされたイメージ データが正しいかどうかを判断できます。

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-25 09:05:12

    1. よくわかりませんが、公式文書には検証の問題について言及されていません (@有明さんの回答を参照)

    2. 実際のアップロード ディレクトリを作業ディレクトリから確実に分離するには、さまざまな方法があります (/upload にアップロードし、完了後に /publish に移動します。/publish の下にあるもののみを削除します)。ファイルのアップロード .md5sum 検証ファイルを持参します。 .md5sum 検証ファイルが存在しない場合は、ファイルがまだアップロードされていないことを意味します

    返事
    0
  • キャンセル返事