企業環境のWSL2でdocker pullできない場合の対処方法

企業環境で組織内で使用するための証明書を利用している場合、WSL2上からのdocker pullで次のようなエラーが発生することがあります。

docker: error pulling image configuration: download failed after attempts=6: tls: failed to verify certificate: x509: certificate signed by unknown authority

WSL2はWindowsの証明書ストアを直接参照しないため、Windows側に中間CA証明書があってもWSL2内にコピーしないとTLS検証は通りません。したがって、Windows側で証明書を追加した後は、WSL2内のCAストアにも同じ証明書を追加する必要があります。

WSL2への証明書適用方法

Ubuntuの場合になります。

  1. 証明書をローカルCA証明書ディレクトリにコピーする
    sudo mv certificate.crt /usr/local/share/ca-certificates/certificate.crt
  2. 証明書を信頼ストアに追加する
    sudo update-ca-certificates

WSL2のネットワークをミラーモードにする

ミラーモードとは、Windows側のIPアドレスとWSL2側のIPアドレスを一致させることのようです。ただしミラーモードはWindows11の新しいバージョンでないと利用できない可能性があります。(本記事では、24H2で動作確認)

参考

WSL2のミラーモード

ミラーモード手順

C:\Users\%UserProfile%.wslconfigに以下を追加します

[wsl2]
networkingMode=mirrored

WSL2を再起動します。Windows Powershellから次のコマンドを実行した後、WSL2を起動してください。

wsl --shutdown

WSL2上で次のコマンドを使ってIPアドレスを確認し、WindowsとIPアドレスが同じことを確認します。(eth0:などを参照)

ip addr
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です