《事象》docke-compose buildにおいて、Dockerfileの以下の箇所でエラーが出現。
FROM python:3
RUN apt-get install (各package)
《エラー内容》以下2通りのエラーあり。
E: Failed to fetch http://deb.debian.org/debian/(略) File has unexpected size (13363 != 2596). Mirror sync in progress?
E: Failed to fetch http://deb.debian.org/debian/(略) Hash Sum mismatch
《試したこと》
①1つ目のエラーは、ミスマッチとなったパッケージのダウンロードファイルサイズが同程度に小さい。これは、macOSにおいてスクリーンタイムの設定をしており、ブロックページを誤ってダウンロードしていることに起因。スクリーンタイムをオフとするだけでなく、Webサイトのホワイトリストも全て消す必要があった。
参考:https://stackoverflow.com/questions/66200219/running-apt-get-update-on-docker-ubuntu-image-on-mac-causes-file-has-unexpected
②2点目のエラーに対して、レポジトリーのミラーイメージ同士が競合を起こしていることがあり、以下コマンドで解消。
参考: https://stackoverflow.com/questions/48645936/docker-for-mac-hash-sum-mismatch#answer-48777773
RUN rm -rf /var/lib/apt/lists/*
RUN apt-get clean
RUN apt-get update -o Acquire::CompressionTypes::Order::=gz
③Dockerfileのコマンド1つずつ確認し、インストールバージョンに適合しないdebianパッケージをインストールしていたことが原因に。本パッケージが不要だったので削除して全て解消。
④その他、以下のような方法の記載もあり
・dockerコンテナーやイメージ、NW等の全削除
・macOSのプロキシーやNWまわりの確認
・ミラーの指定を変える方法
参考:https://stackoverflow.com/questions/36358354/hash-sum-mismatch-in-apt-get-update