[wsl2 / Ubuntu] apt installができなくなる問題の対処
前提
wsl環境上でDockerを使っている場合のお話です。
症状
docker-compose build
で、docker imageをビルドしようとしたところ、
Dockerfile内のapt install
のところで次のエラーが発生。
Err:1 http://deb.debian.org/debian buster InRelease
Temporary failure resolving 'deb.debian.org'
Err:2 http://security.debian.org/debian-security buster/updates InRelease
Temporary failure resolving 'security.debian.org'
alpineイメージを使っている場合
Dockerfile内のapk add
のところで次のようなエラーが出た
Step 2/8 : RUN apk add --no-cache libstdc++ libgcc bash vim && pip install --upgrade pip
---> Running in b328299760c6
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.14/main: temporary error (try again later)
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.14/community: temporary error (try again later)
ERROR: unable to select packages:
bash (no such package):
required by: world[bash]
...(以下略)
対策
今のところこの対策でうまくいっている。
具体的には、docker-compose build
を実行する環境上で、
まず次の二つのファイルを編集・作成。
編集・作成するファイル
/etc/resolv.confnameserver 8.8.8.8
/etc/wsl.conf[network] generateResolvConf = false
これで、wsl起動の度に/etc/resolv.conf
が毎回作成されてしまうのを防ぐことができるとのこと。
wsl再起動
今度は、その環境の外、つまりホストPCのOS側からwslを再起動。
私はpowershellから実行した。
> wsl --shutdown
> wsl -d Ubuntu
一応、今はこれでなんとか動くようになった。
補足
wsl --shutdown
やapt-get update
を実行するだけで治ると書いている記事もあるが、私の環境では、それらは効果がなかったです(´;ω;`)ブワッ
Author And Source
この問題について([wsl2 / Ubuntu] apt installができなくなる問題の対処), 我々は、より多くの情報をここで見つけました https://qiita.com/siruku6/items/84698c3276e29a7aca4e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .