プロキシ環境下でWindows WSL+Linux+Dockerの環境を構築する際、いつも「あれ...これどうやるんだっけ。調べよ...」となることがありましたので、情報の整理と備忘録も兼ねて手順を残してみました。
1. 事前準備
-
Windowsの機能有効化
1.1.コントロールパネル>プログラム>Windowsの機能の有効化または無効化
を開きます。
1.2.Widows Subsystem for Linux
および仮想マシンプラットフォーム
が有効になっていることを確認します。 -
PowerShellに管理者権限でPowerShell起動します。
-
下記プロキシを設定する。(各々の環境に合ったプロキシを設定してください。)
$env:http_proxy="http://xxx"
$env:https_proxy="http://xxx"
$env:HTTP_PROXY="http://xxx"
$env:HTTPS_PROXY="http://xxx"
2. WSLデフォルトバージョンをWSL2にする
下記コマンドを入力し、wslデフォルトバージョンを2に設定します。
wsl --set-default-version 2
3. Ubuntu24.04をインストール
1.Downloadsディレクトリにubuntu-2404.appxをダウンロードします。
cd ~\Downloads
curl.exe -L -o ubuntu-2404.appx https://wslstorestorage.blob.core.windows.net/wslblob/Ubuntu2404-240425.AppxBundle
2.ダウンロードが進行していることを確認します。
※Speedが"0k"になっている。または停止している場合、Ctr+Cで一度プロセスを停止し、1.2.のプロキシを設定後、再度1.2.の手順を実施してください。
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 667M 100 667M 0 0 768k 0 0:14:49 0:14:49 --:--:-- 1503k#←ここ確認
3.UNIX usernameとpassword の設定
ダウンロード完了後、任意のUNIX usernameとpasswordを入力します。
PS C:\Users\hoge\AppData\Local\Packages\Ubuntu-24.04\Ubuntu_2404.0.5.0_x64> .\ubuntu2404.exe
Installing, this may take a few minutes...
#インストール完了後以下表示される
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
#任意の名前
Enter new UNIX username: maeda
#任意のパスワード
New password:
#パスワード再入力
Retype new password:
passwd: password updated successfully
Installation successful!
4.全項目入力後、以下の画面が表示されていればインストール完了です。
Welcome to Ubuntu 24.04 LTS (GNU/Linux 5.15.153.1-microsoft-standard-WSL2 x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
System information disabled due to load higher than 1.0
This message is shown once a day. To disable it please create the
/home/hoge/.hushlogin file.
#xxxはUNIX username
xxx@hoge.hoge:~$
3. Linux(Ubuntu-24.04)環境上にDokcker環境を構築する
1. 事前準備
1.Linuxにログインした状態で、管理者モードに遷移します。
下記コマンドを入力してください。
sudo su
#パスワード入力が要求されるので入力してください。
[sudo] password for unixname:
2.rootにログインした状態で下記プロキシを設定します。
$env:http_proxy="http://xxx"
$env:https_proxy="http://xxx"
$env:HTTP_PROXY="http://xxx"
$env:HTTPS_PROXY="http://xxx"
2. Dockerのaptリポジトリのセットアップ
1.下記コマンドを実行する。
apt-get update
#debian環境にインストールする場合、curl,gpgが未インストールの可能性があります。
#下記コマンドを実行すると、必要なパッケージをインストールできます。
#apt-get install -y curl && apt-get install -y gpg
apt-get install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
ユーザーログイン状態でsudo apt-get update
を実行した場合、sudo により別プロセスが生成され環境変数が無効の状態でupdateが実行されます。
この場合、下記のエラーが発生しますので、[手順3.1.2.] のプロキシを再度設定してから再実行してください。
hoge@xxxx:~$ sudo apt-get update
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/noble/InRelease Cannot initiate the connection to archive.ubuntu.com:80 (2620:2d:4000:1::102).
2.リポジトリをaptに追加
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
3.apt更新
apt-get update
3. Dockerパッケージをインストール
1.下記コマンドを実行
apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
2.インストール確認
docker -v
#下記の様にバージョンが表示されていれば完了(バージョンは一致していなくてもOK)
Docker version 27.3.1, build ce12230