LoginSignup
108
102

More than 3 years have passed since last update.

WSLでdockerのインストールからdocker-composeまで動かす

Last updated at Posted at 2018-11-23

これは何?

私の技術メモです。

docker for windowsのdockerデーモンを使用してWSLでdockerを動かせるようにしました。

前提

  • docker for Windowsが動かせる。

    • WSLでdockerデーモンが立ち上げられないため、docker for windowsのdockerデーモンを使用します。(最近ではそうでもないらしいのですが…)
    • docker for windowsのシステム要件上、必然的にWin10 64bit Proとなります。
  • どっちでもいいのですが、Linuxコンテナイメージを使っています。

やりたいこと

  • WSLでLinux(ubuntu)を動かせるようにする。
  • ubuntu上でdockerを動かせるようにする。
  • ubuntu上でdocker-composeを動かせるようにする。
    • gitlabを試しに起動してみる。

やってみた

WSLでLinuxを動かせるようにする

  • コントロールパネルよりWSLを導入

キャプチャ.PNG

キャプチャ2.PNG

  • 再起動を要求されるので再起動後、MicrosoftStoreからubuntuを検索して選択
    とりあえずubuntuを選択

  • インストールが終われば、ubuntuが追加されて選べるようになる
    キャプチャ5.PNG

  • 起動後、installingを数分待って、デフォルトのユーザー名/パスワードを入れれば使えるように!
    キャプチャ6.PNG

プロキシ関連の対応が必要な場合

  • とりあえずこのあたりは対応(profile変更後は、sourceコマンド実行する)

    • /etc/profile
    • /etc/apt/apt.conf
  • とりあえずaptをアップデート(なんと30分近くかかった…)

sudo apt update
sudo apt upgrade

Linuxの上でdockerを動かせるようにする

docker公式のおすすめ通り、dockerのリポジトリを使ってインストール

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo -E add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

add-apt-repositoryはaptみたいな個別プロキシ設定が無さそうので、sudo -Eで強引に行くらしい。

sudo apt-get install docker-ce
  • インストールできたことを確認。
docker --version
Docker version 18.09.0, build 4d60db4

docker起動時のエラー

  • サービスstartでエラー
sudo systemctl start docker
System has not been booted with systemd as init system (PID 1). Can't operate

docker for windowsのdockerデーモンを共用する

キャプチャ1.PNG

その後、ubuntuからもloaclhostのポート2375をDOCKER_HOSTとして設定してあげれば、さもubuntu上にdockerデーモンがいるかのように使用可能に。

export DOCKER_HOST=tcp://localhost:2375

dockerコマンドが動くようになりました
キャプチャ.PNG

Linuxの上でdocker-composeを動かす

  • docker-composeを使えるようにする
    • docker-composeのバージョンが古くなっているので、Docker公式を確認して最新のものを入れることを推奨します。
    • ここでの1.6.2のところを変えるだけで良いはずです。
    • Permission deniedでうまくいかない場合、sudoしてから実行する必要があるとのことです。@rapidliner00さん、ありがとうございます!
curl -L https://github.com/docker/compose/releases/download/1.6.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
  • gitlabからgit clone
git clone https://github.com/sameersbn/docker-gitlab
  • docker-compose.ymlのここだけ変えました
    - GITLAB_ROOT_PASSWORD=
  • upする
docker compose up
  • docker-compose.ymlで開けたポートにアクセス

キャプチャa.PNG

参考にさせていただいたもの(ありがとうございます)

108
102
2

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
108
102