Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

WSL上でDocker Engineが動くようになっていたっぽいという話

More than 1 year has passed since last update.

経緯


太古の昔より人々はWSLでDockerを動かそうとしてきた。
しかしながら、様々な理由からDocker for WindowsやVirtualBoxを頼らざるを得ない状況が続いていた…

みたいな認識。
実際ググるとそういうアプローチの記事がよく引っかかる。
WSL(Bash on Windows)でDockerを使用する - Qiita
WSLでDockerを使う - Qiita

Docker Engineが動かない理由はcgroupだったりSocketだったり様々な要因が絡んでいるのだろうと思っていたし、いつかWSLのアップデートによって解消される問題なのだろうと想像されていた。しかしなかなか解消されなかった。
そんな私もWindows 10の大型アップデートの度に期待をし、失望するというルーチンを繰り返してきた。

しかし、先日こんなツイートを見かけた。


まじかよ
そんなメモ。

ネタ元

詳しく流れを知りたい人は、下記redditを参照。
ぶっちゃけ「WSLを管理者権限で動作させる」ってのと「Microsoft Store版のUbuntuを使う」って所を抑えておけば、サクッと動かせると思う。本メモはこれの抜粋。
https://www.reddit.com/r/bashonubuntuonwindows/comments/8cvr27/docker_is_running_natively_on_wsl/

検証環境

  • Windows 10 Pro(1803)
  • Ubuntu 16.04 in WSL(ストア版)(後述するけど非ストア版ではなぜか動かなかった)

下準備

Microsoft StoreからUbuntuを入れる

そもそもWSLを動かせない人はその準備を

管理者権限で動いているWSLからDockerをインストール

管理者権限(ココ重要)で動かしているWSLからDockerをインストール。

sudo apt update
sudo apt upgrade
sudo apt install docker.io
sudo cgroupfs-mount
sudo usermod -aG docker $USER
sudo service docker start

hello-worldしてみる

sudo docker run hello-world

image.png

すごい!!!ほんとに動いた!!!

ということで…

ホントにDocker EngineがWSLで動きました!

踏みそうな所

何故かStoreから入れたUbuntuじゃないと動かなかった。
( lxrun /install で入れたいわゆる Legacy ってやつでは動かない )

「動かないなー」って時は、どのディストリビューションが標準設定になっているのかを調べてみると良さそう。
WSLのディストリビューションの切り替えに関するメモ - Qiita

所感

最高かよ。

yanoshi
ここはメモ書き。 誰かの役に立つこともあるかもしれない。
http://yanoshi.hatenablog.jp
dmmcom
総合エンタテイメントサイト「DMM.com」を運営。会員数は2,900万人を突破。動画配信、FX、英会話、ゲーム、太陽光発電、3Dプリンタなど40以上のサービスを展開。沖縄での水族館事業参入、ベルギーでのサッカークラブ経営など、様々な事業を手掛ける。また2018年より若手起業家の支援を強化、「DMM VENTURES」による出資や、M&Aなどを積極的に展開している。
https://dmm-corp.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away