docker
openSUSE
Windows10
WindowsSubsystemForLinux
WSL

WSLのopenSUSE Leap 42.3にDocker CEをインストールする

概要

Docker公式ドキュメントには、Docker EEをSUSE Linux Enterprise Server(SLES) 12.xにインストールする方法は書いてあるが、Docker CEをopenSUSEにインストールする手順がない。1

そこで、Windows 10のWindows Subsystem for Linux (WSL)環境でDocker CEを入れる方法を調べてみた。

環境

  • Windows 10 Fall Creators Update 1709 (16299.64)
  • openSUSE Leap 42.3

openSUSEはMicrosoft Storeからインストールできる。

前提

WSL上ではdockerdは動かないので、Docker for Windowsなど別にDockerのホストを用意して接続する。

ホストとしてDocker for Windowsを利用する場合、
WSL(Bash on Windows)でDockerを使用する - Qiita
が参考になる。

「WSL上のDockerインストール」の部分だけ当記事で読み替えればいい。

Docker公式サイトからバイナリをインストールする場合

サポート外のプラットフォーム用の手順として、バイナリインストールの手順が以下にある。
Install Docker CE from binaries | Docker Documentation
最新版を使いたい場合などはこの手順が推奨。

バイナリは以下から選択する。
https://download.docker.com/linux/static/stable/x86_64/
(stable以外のedge,testは好みで)

$ wget https://download.docker.com/linux/static/stable/x86_64/docker-17.09.1-ce.tgz
$ tar xzvf docker-17.09.1-ce.tgz
$ sudo cp docker/* /usr/bin
$  docker version
Client:
 Version:      17.09.1-ce
 API version:  1.32
 Go version:   go1.8.3
 Git commit:   19e2cf6
 Built:        Thu Dec  7 22:21:47 2017
 OS/Arch:      linux/amd64
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

zypperを使ってインストールする場合

openSUSEのパッケージ管理ツールであるzypperコマンドを利用する場合は、こちらの手順。
ただし、リポジトリに含まれるバージョンはちょっと古い。

まず、zypperにDockerのリポジトリを追加するため、以下のファルを任意のエディタ(Vim等)で作成する。

/etc/zypp/repos.d/docker.repo
[Virtualization_containers]
name=Virtualization:containers (openSUSE_Leap_42.3)
type=rpm-md
baseurl=http://download.opensuse.org/repositories/Virtualization:/containers/openSUSE_Leap_42.3/
gpgcheck=1
gpgkey=http://download.opensuse.org/repositories/Virtualization:/containers/openSUSE_Leap_42.3/repodata/repomd.xml.key
enabled=1

ファイル作成後、リポジトリの更新とdockerのインストールを行う。

$ sudo zypper --gpg-auto-import-keys ref
$ sudo zypper -n in docker
$ docker version
Client:
 Version:      17.07.0-ce
 API version:  1.31
 Go version:   go1.8.5
 Git commit:   87847530f717
 Built:        Fri Dec  8 19:35:14 2017
 OS/Arch:      linux/amd64
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

zypperで使ってるオプション、コマンドの意味はこちら

ホストへの接続

WSL側でDOCKER_HOST環境変数で接続先のホストを指定する。

$ export DOCKER_HOST='tcp://localhost:2375'

必要に応じて~/.bashrcなどに追記しておく。

$ echo "export DOCKER_HOST='tcp://localhost:2375'" >> ~/.bashrc

参考

Installation Docker CE on openSUSE Leap 42.3

関連記事

【小ネタ】Docker for WindowsをWSLで使う一番楽な方法 - Qiita
Docker for WindowsをWSLから使う時のVolumeの扱い方 - Qiita


  1. 2017/12/10 現在