ゆるふわエンジニアのブログ

行ったこと、調べたこと等をつらつらと書いていくかもしれません。

Docker on WSL(Ubuntu 16.04)環境の作り方

WSL + Ubuntu16.04にDockerをインストールし、
使用できる環境を作成したので備忘録がてら説明していきます。

本記事の内容です。

はじめに

今回はDockerのバージョンを指定してインストールします。
何故、わざわざDockerのバージョンを指定するのかと言いますと、2018/12/30時点だとバージョンを指定しないと後述する環境で動作しないバージョン(18.06.0)でインストールされてしまうからです。
バージョンを指定しないインストール方法は、下記の通りです。

sudo apt update
sudo apt upgrade
sudo apt install docker.io

ですので、今回は後述する環境で動作するバージョン
17.09.0
を指定してインストールしています。

本記事の内容を試した環境

Host OS: Windows10 Professional (ver 1803) (Build 17134.472)
Guest OS: Ubuntu16.04

インストール

Dockerのインストールのためにいちいちコマンドを実行するのは面倒なので、インストール用のスクリプトファイルを作成して一括で実行するようにします。
下記の内容はインストールだけでなく、サービスの起動や自動起動設定もスクリプトファイル内で行うようにしています。
今回は
docker-ce17.09.0-install.sh
という名前でスクリプトファイルを作成しました。
内容は下記の通りです。
コピペしてお使いください。

#!/bin/sh
# install docker (ver 17.09.0)
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
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 xenial stable"
sudo apt-get update
sudo apt-get install -y docker-ce=17.09.0~ce-0~ubuntu
sudo usermod -aG docker $USER

# start docker service
sudo cgroupfs-mount
sudo service docker start

# setting docker auto start
echo 'sudo cgroupfs-mount' >> ~/.bashrc
echo 'sudo service docker start' >> ~/.bashrc

管理者権限でUbuntuを再起動

一度Ubuntuの画面を閉じ、管理者権限で起動します。
すると、Dockerの自動起動を行うために管理者ユーザのパスワードを聞かれるので入力します。

インストールしたDockerのバージョン確認

下記のコマンドを実行し、
Docker version 17.09.0-ce, build afdb6d4
と表示されることを確認します。

docker -v

Hello Worldで動作確認

インストールしたDockerが正常に動作することを確認します。
下記のコマンドを実行し、
Hello from Docker!
というメッセージが表示されればOKです。

docker run hello-world

参考にさせていただいたページ

qiita.com
qiita.com
qiita.com