23
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WSL2統合されたDocker for WindowsでaptがRelease file for xxx is not valid yetなエラーになった場合の対処

Last updated at Posted at 2020-06-22

Dockerのbuild時にapt getやapt updateをしていると"Release file for http://security.debian.org/debian-security/dists/buster/updates/InRelease is not valid yet"などのようなエラーが出る場合の問題です。

現象としてはまんま以下の記事のとおりです。
apt update で Release file for xxx is not valid yet って言われる問題

上記の記事では

Docker for Windows の場合は、restart すれば解決する。

とありましたが、WSL2が有効になっていてDocker for windowsがWSL2と統合されているとちょっと話がややこしくなります。
この場合Dockerデーモンが動いているホストはWSL2になるため、たとえWindowsホスト側からdocker buildなどのコマンドを実行していても、WSL2側の時刻ズレの影響を受けます。
そのため、WSL2の時刻ズレを修正してあげる必要があります。

WSLの時刻ズレを修正するには、WSLに入った状態で、
sudo hwclock -s
を実行します。
これによりWindowsホスト側の時刻と同期されます。

参考: Release file for repository is not valid yet

Windowsの時刻はズレてないしDockerのrestartしても直らないなーと少しハマったのでメモ。

追記

同じ原因でnpm installが

error code CERT_NOT_YET_VALID

というエラーになった場合もありました。
同様に時刻ズレを補正することで成功するようになりました。

23
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?