Slide 1

Slide 1 text

Windows × Linuxコンテナの新しい選択肢 Docker Desktop不要の時代が来る? WSL標準の「wslc」で Linuxコンテナを動かしてみた 上田茂雄(@ueponx) 2026-07-04 なごあずの集い#9 LT資料

Slide 2

Slide 2 text

ueponx 上田 茂雄 / Ueda Shigeo @ueponx 上田茂雄 uepon日々の備忘録 所属 中京テレビ放送 セキュリティ監理室(ほぼソロ部署) 名城大学 非常勤講師 愛知大学 非常勤講師 京都精華大学 非常勤講師 名古屋工業大学 修士(社会工学)2026年3月修了 コミュニティ ● IBM Champion 8年連続選出(2026含む) ● Nagoazu運営 Azure User Group Nagoya ● SeeedJP UG運営 IoT / Maker Community Skills & Interests IBM Champion Node-RED 8年+ IoT / Raspberry Pi AI / LLM RAG / GraphRAG ナレッジグラフ RDF / Neo4j MCP / AI Agent 放送システム watsonx Azure ローカルLLM ● SORACOM UG 東海 運営 IoT https://uepon.hatenadiary.com/

Slide 3

Slide 3 text

これまで:WindowsでLinuxコンテナを動かすには Docker Desktopを入れる 一番メジャー。ただし大きい組織では有償契約が必要な場合も WSL2のUbuntuにDocker Engineを自分で入れる 構築の手間がかかる。管理も自己責任 Podmanなどの代替ツールを使う 選択肢はあるが、情報量はDockerに劣りがち 実質「とりあえずDocker Desktop」一択の人が多いのでは?(自分もそう )

Slide 4

Slide 4 text

WSL container が Public Preview に WSLに「Linuxコンテナを動かす入口」が標準搭載されます! 2026/6/2 Build 2026で発表 「public previewが近日公開」 2026/6/29 WSL 2.9.3リリース Public Preview開始(今ここ) 2026年秋 一般提供(GA)目標 具体的な日付は未公表 Windows本体をInsider Previewにする必要はない。WSLをpre-release版に更新するだけ

Slide 5

Slide 5 text

「wslc」は「wsl」の新バージョン? → 違います wsl WSLディストリビューション用 Ubuntu / Debian などを起動・管理 従来通り! 今まで作った環境もそのまま使える wslc Linuxコンテナ用(新登場) ubuntu:latest / nginx などを起動・管理 container.exe という別名でも呼べる + 置き換えではなく追加! WSLそのものがコンテナになったわけでもない

Slide 6

Slide 6 text

これはDockerなのか? → Dockerではない、けど… Nginxをポート公開付きで起動する例 Docker docker run -d --rm -p 8080:80 --name web nginx WSL container wslc run -d --rm -p 8080:80 --name web nginx ほぼ「docker」を「wslc」に置き換えただけ build / pull / push run / exec / logs / stats ポート公開 VHDベースvolume GPU対応(CDI) Public Preview時点で、一通りの操作がすでに使える完成度

Slide 7

Slide 7 text

やってみた① 導入 〜 いきなりハマる 検証機:第9世代Core i5 / 16GB / GTX1650(メインPCではなく検証用マシン推奨) wsl --update --pre-release wsl --shutdown wslc version 用語 'wslc' は…認識されません 更新したのにコマンドが無い!? 原因:PATHが既存のターミナルに反映されていないだけ 対処:ターミナルを完全に閉じて開き直す(Windows Terminalはアプリごと終了が確実) 新しいターミナルで wslc version → 2.9.3.0 が返って成功。別エンジンのインストールは不要

Slide 8

Slide 8 text

やってみた② コンテナを動かす wslc run --rm hello-world wslc run -d --rm -p 8080:80 --name web nginx curl http://localhost:8080 wslc container list wslc exec web cat /etc/os-release hello-world 成功メッセージが表示 nginx + curl WelcomeページのHTMLが返る exec コンテナ内のOS情報が見える Dockerを触ったことがあれば、迷う要素がほぼない操作感でした

Slide 9

Slide 9 text

やってみた③ 自作イメージをビルド 定義ファイル名は Dockerfile ではなく Containerfile(Podmanと同じ流儀) Containerfile FROM nginx:latest COPY index.html /usr/share/nginx/html/ ビルド → 実行 → 確認 wslc build -t myapp . wslc run -d --rm -p 8080:80 myapp curl localhost:8080 自作HTML「Hello from wslc build!」がcurlで返ってきた → 自分のイメージが動いている 「the Dockerfile cannot be empty」エラーはファイルのエンコーディング等が原因のことも。

Slide 10

Slide 10 text

ただし、まだできないこともある Docker Compose相当がない 複数サービスの一括起動は未対応。GitHubでfeature request段階。Compose中心のチームは Docker Desktop継続が安全 bind mountの互換性に差 Dockerで通っていた -v のパス指定が通らないという報告もあり。特殊なマウントは要注意 Windowsコンテナは非対応 名前の通りLinuxコンテナ専用。Windowsコンテナは従来通りの手段で Public Previewらしい制約は残る(GitHub issueベース・一部は未検証)

Slide 11

Slide 11 text

Docker Desktopとどう使い分けるか WSL containerが向いていそう • 個人開発のLinuxコンテナ • 軽めのWeb / API開発 • ローカルAI / MLの実験 • Docker Desktopのライセンスを避 けたい Docker Desktopを残すべき • Compose中心の開発 • 安定したDev Containers運用 • 企業proxy / ミラー前提の環境 • 既存Dockerエコシステム依存が大きい 「試す価値は高い。ただし今すぐアンインストールする話ではない」が今回の実感

Slide 12

Slide 12 text

まとめ wsl = WSLディストリビューション用(従来通り) wslc = Linuxコンテナ用(今回追加) Dockerではないが、Dockerっぽく使えるWSL標準の仕組み 導入はWSLのpre-release更新だけ。Windows Insiderなどは不要。 Composeなど未対応も残る。標準化はGA(2026年秋目標)を待ってから! Windows開発環境の「標準」が変わり始めるかも。まずは検証マシンでお試しを! 詳細はブログで → uepon.hatenadiary.com