しがないITインフラエンジニアの雑記

Windows10 + WSL(Ubuntu18.04) + Docker Desktopで開発環境構築

Last updated on

Windows10 + WSL(Ubuntu18.04) + Docker Desktopで開発環境構築

TL;DR

WSL2の発表とDocker Desktop for WSL 2の発表によってこの記事の手順は 20H1 の WindowsUpdate 後は陳腐化すると思われます。

https://engineering.docker.com/2019/06/docker-hearts-wsl-2/

前作業

上記が終わっていること前提。

アップデート/アップグレード

$ sudo apt -y update
$ sudo apt -y upgrade

日本語環境

  1. 日本語/タイムゾーン設定
    $ sudo apt -y install language-pack-ja
    $ sudo update-locale LANG=ja_JP.UTF-8
    $ sudo timedatectl set-timezone 'Asia/Tokyo'
    $ sudo apt -y install manpages-ja manpages-ja-dev
  2. Ubuntu Japanese Team リポジトリを追加する
    $ wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
    $ wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add -
    $ sudo wget https://www.ubuntulinux.jp/sources.list.d/$(lsb_release -cs).list -O /etc/apt/sources.list.d/ubuntu-ja.list
    $ sudo apt -y update
    $ sudo apt -y upgrade

Docker

Windows10 バージョン 201903 では WSL で Docker Daemon を動かすことが環境依存で難しいため。

Docker Desktop に接続して操作できるようにする。

インストールがうまく出来ない場合は公式のインストール手順を参照してください。

  1. 開発(基本)パッケージを取得する
    $ sudo apt update
    $ sudo apt -y install build-essential git apt-transport-https ca-certificates curl gnupg2 software-properties-common
  2. Docker リポジトリの追加
    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    $ sudo apt-key fingerprint 0EBFCD88
    $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    $ sudo apt update
  3. Docker のインストール
    $ sudo apt -y install docker-ce
  4. Docker Desktop のデーモンに接続するように設定を追加
  5. ~/.bashrc に下記を追加
    export DOCKER_HOST=tcp://localhost:2375
    alias docker="DOCKER_HOST=${DOCKER_HOST} docker"
    alias docker-compose="docker-compose -H ${DOCKER_HOST}"
  6. 設定反映
    $ source ~/.bashrc

docker-compose

apt で入る docker-compose は古いので公式のやり方で入れる。

  1. 以下のコマンドを実行し、docker-composeコマンドを直接/usr/local/bin以下に配置します。
    $ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    ※このコマンドにはバージョン番号が含まれています。Install Docker Composeにて最新のコマンドを確認してください。
  2. 実行可能にするためバーミッションを変更します。
    $ sudo chmod a+rx /usr/local/bin/docker-compose

ボリュームマウントの問題について

この状態では docker でボリュームマウントオプションを入れてもボリュームマウントができないので対処する。

ln -s /c /mnt/c