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のインストールからdocker-composeまで動かす

More than 1 year has passed since last update.

これは何?

私の技術メモです。

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

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

tettsu__
カンバンやりたい。
https://github.com/tettsu
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