LoginSignup
2
8

More than 3 years have passed since last update.

WSL1でDocker使いたい

Last updated at Posted at 2020-01-23

WSL1でDocker使いたい

理由?
WSLでDocker for windowsを使うッ!!! - Qiita
この記事に触発されたから。俺もやってみようと思った。

あと、うまくいったらテスト環境でLinuxベースのやつさくさく切り替えられそうだしね。

Windows側の操作

WindowsにDockerインストール

Dockerの公式サイトから普通にダウンロードしてインストール

WSLからWindowsのDockerを呼び出す設定

  1. タスクバーのdockerアイコン右クリックして、Settingクリック
  2. Generalの見出しの「Expose deamon on~~」のチェックを入れてOK。

これで、tcp://localhost:2375/でDockerが待ち受けしてくれるようになる。

画面は閉じないで、次の手順へ!!

DockerがCドライブをマウントする設定

  1. 同じ画面のResources>FileSharingをクリック
  2. 画面右にドライブレターが表示されるので、CにへっくいれてOK

画面はもう少しそのまま。閉じないで!!

DockerのProxyとDNS設定

DockerはWindows標準とは別に独自のProxyとDNSの設定を持っている。
なので、クローズドな環境の場合はこちらも設定する。

  1. 同じ画面のProxiesをクリックすると、右側に設定画面が表示される。環境にあわせて変更。
  2. 同様にNetworkをクリックすると右側にDNSの切り替えスイッチとアドレス設定がでてくる。
  3. いっそ、ONにしてIPを「8.8.8.8」にした方が軽快に使える場合もあるが、まぁ、環境とご相談で。

WSL側の操作

dockerのインストール

dockerインストール
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install docker
$ sudo apt install docker-compose

Cドライブのマウント場所の変更

標準だと/mnt/cになって使いにくいので変更する。

/etc/wsl.conf
[automount]
root = "/"  

dockerの動作確認

いったん、DockerもWSLも一度再起動しとく(なんか不具合よく起きたのでお文じない)
再起動したのを確認したら、動作確認。

バージョン確認
$ docker version
Client:
 Version:           18.09.7
~~ 略 ~~
Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
~~ 略 ~~

エンジンバージョンがWindowsと一致している。

hello-run
$ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

~~ 略 ~~

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

ここで躓く場合は、下記のネットワークの設定を確認しておく。

  • WSLのPROXY設定がされていない
  • WSLのNO_PROXYが設定されていない

Jenkinsを起動する

Jenkinsの公式ドキュメント
に記載されいている下記のコマンドそのままではWSLからは起動できない。

公式のコマンド(WSLでは動作しない)
$ docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts

下記の通りに変更するとWSL上でも動作する。

修正版のコマンド(WSLでも動く)
$ docker run -p 8080:8080 -p 50000:50000 -v /c/jenkins_home:/var/jenkins_home jenkins/jenkins:lts

WSL上のディレクトリにはDockerのファイルシステムをマウントできないのが原因らしい。
よって、Windows上のドライブを指定する必要がある。(上記の例ではC:\jenkins_home

Jenkinsの起動確認

ブラウザからhttp://localhost:8080で初期画面が表示される。
パスワードはC:\jenkins_home\secrets\initialAdminPasswordに保存されているのでコピペ

WSLからのDockerの動作確認としてはこれで終了

2
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
8