WSL2からホストのネットワークと独立して、起動時に仮想アダプタを生成してそこからインターネットに接続します。ところが、カスペルスキーやSymantecのサードパーティー製ファイアウォールがこの通信をブロックしてしまいます。
暫定回避策
Win10のホストとの通信はできるので、squidなどのプロキシサーバーをホスト上で稼働させて、WSL2=>squid=>internetというプロキシ環境下で当面使うことにします。(はやく修正してくれ!)
Squid for windowsのインストール
インストールすると、デフォルトでは3128番ポートでsquidがサービスとして稼働します。今回はデフォルトで稼働させます。
WSL2のプロキシ設定
.bashrc
にプロキシの設定を行います。
> vi ~/.bashrc
export http_proxy="http://<windows host ip address>:3128"
export https_proxy="http://<windows host ip address>:3128"
> source ~/.bashrc
sudoでプロキシ設定を引き継ぐ
コマンド引数で環境変数を引き継ぐ場合
> sudo -E apt update
面倒な場合、以下のようにすると、sudo時のユーザに環境変数の値を引き継ぐ設定を行う
> cd /etc/sudoers.d
> sudo vi myuser
Defaults env_keep += "PATH"
Defaults env_keep += "http_proxy"
Defaults env_keep += "https_proxy"
念のためコンソール等再起動して以下で通信できればOK
> sudo apt update
> sudo upgrade
> sudo apt install xxxx
docker のプロキシ設定
WSL2からWindows版Dockerをインストールしなくても、本物Linuxと同じようにインストールができます。
https://docs.docker.com/engine/install/ubuntu/
> sudo apt-get remove docker docker-engine docker.io containerd runc
> sudo apt-get update
> sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
> curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
> sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
> sudo apt-get update
> sudo apt-get install docker-ce docker-ce-cli containerd.io
> sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
> sudo chmod +x /usr/local/bin/docker-compose
dockerグループにユーザを追加して、dockerを起動する
> sudo gpasswd -a $USER docker
> sudo service docker start
が、しかしdockerでイメージを取得するときもやはりプロキシ設定が必要になります。
> sudo vi /etc/default/docker
export http_proxy="http://<windows host ip address>:3128"
dockerを再起動して、hello-world
コンテナを取得&実行できればOK
> sudo service docker restart
> docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
:
> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 5 months ago 13.3kB