概要
事故用メモ
-
WSL2をバックエンドにしたDockerDesktopでaptが
Release file for is not valid yet
エラーを吐いた。 -
WSL2統合されたDocker for WindowsでaptがRelease file for xxx is not valid yetなエラーになった場合の対処
の記事に記載の方法であるwsl -d
可能なディストリに対してhwclock -s
しても解決しない場合の対策として、コンテナ内で時刻調整が有効だった。
バージョン
Windows 10 build 19042
Docker Desktop 2.5.0.1
事象と解決手段
事象
ubuntu:20.04
コンテナに対して以下のコマンドを実行
apt install build-essential
結果、Release file for xxx is not valid yet
エラー(ログを取り損ねたのがおそらくlibc6)。
WSL側の時刻ズレが原因との記事が多く見られたので以下のコマンドを実行したが解決せず。
wsl -d docker-desktop
hwclock -s
解決手段
WSL側ではなくコンテナ側でntpdate
による時刻合わせを行い解決を図ることにした。
ntpdate ntp.nict.jp
を叩くもCan't adjust the time of day: Operation not permitted
と怒られた。これはコンテナに権限が不足していることに起因している。
docker run
に--privilaged
オプションを渡して解決。
docker run -itd --privilaged --name hoge ubuntu:20.04
権限が多すぎるので危険だけど趣味環境なのでとりあえずこれで解決とする。(SYS_TIME, NET_ADMINだけでは不足だった)