LoginSignup
1
1

More than 1 year has passed since last update.

Debian(WSL2)+Dockerの環境構築

Last updated at Posted at 2021-09-19

WSL 2上にDebianをインストールした際の淡々とした記録です。

アプリインストール

$ sudo apt update && sudo apt dist-upgrade
$ sudo apt install wget curl make git vim
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
$ echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.profile
$ curl https://get.volta.sh | bash
$ source ~/.profile
$ brew install tfenv
$ tfenv install latest
$ tfenv use latest
$ volta install node@lts
$ volta install pnpm

Docker Desktop for Windowsとの連携

  1. Settings | Resources | WSL INTEGRATION
  2. Enable integration with additional distros: で使いたいディストロをON

一番やりたかったDocker Desktop for Windowsを使ったWSL上での呼び出し。

ディストロが1つしか入っていない場合、デフォルトのディストロには自動でWSLインテグレーションシステムが発動する。

しかし、2つ以上の場合は、指定してONにしないとDocker Desktopとの連携が取れない。

この設定をすればWSL2上で docker コマンドが使えるようになる。

Docker on WSL2

Docker Desktopが有料化したことを受け、DockerをWSL2のDebianへインストールする。

まずは公式通りに。Docker Composeはこちらから。そして、そのままでは docker run できない。WSL2側で動作しないので、追加で下記作業する。

$ touch /etc/fstab
$ update-alternatives --set iptables /usr/sbin/iptables-legacy
$ service docker start

Docker on WSL2とPhpStormを接続する

DockerへはTCP接続できそうな感じだけど、設定をしても繋がらなかった。そこでいったん手軽にSSHで接続する。

$ sudo apt install openss-server
$ sudo vim /etc/ssh/sshd_config
# 適当にポートやセキュリティ設定を変える
$ sudo service ssh start

何かしらオーバーヘッドはありそうだが、とりわけ接続が遅いなどは感じられないので大丈夫そう。

あとはPhpStormの File | Settings | Build, Execution, Deployment | Docker からDockerへの接続にSSHを選択。

Docker on WSL2とPhpStormのtcp接続

上で繋がらなかったと書いたけれど、追跡調査して繋がるようになった。

$ mkdir /etc/systemd/system/docker.service.d
$ sudo vim /etc/systemd/system/docker.service.d/override.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375
$ sudo vim /etc/docker/daemon.json
{"hosts": ["tcp://127.0.0.1:2375", "unix:///var/run/docker.sock"]}
$ sudo service docker restart

最後に、PhpStormの File | Settings | Build, Execution, Deployment | Docker から TCP Socker を選択。

Engine API URL には http://localhost:2375 を設定。

正直なにをやっているかサッパリ分からない……。ひとまずSSHでいいかな。

以上

今後また何かあれば随時更新予定。

1
1
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
1
1