Windows 上でのDockerのインストール

最終更新日時:2019-04-15 17:53:19
Linux系

概要

Windows 上で Docker を使いたい場合、メジャーな方法としては下記の3パターンがあるようです。

Docker for Windows

名前的に一番良さそう(笑)ですが、Hyper-V を使うため、現状だと Windows10 Pro 以上でないと使えないようです。
また、メジャーな仮想化ソフト VirtualBox との同時使用が出来ない(割と最近できるようになったというウワサもあるが未確認)という欠点もあるようです。

Docker Toolbox

Windows10 Home など、Docker for Windows がつかえないユーザー向けのラインナップのようです。
仕掛け的には、Docker Toolbox には VirtualBox が含まれており、そこで Docker 用の Linux 仮想マシンを動かして Docker 機能を実現しています。

VirtualBox で Docker 用仮想マシンを動かす

基本的には、Docker Toolbox と同じことですが、それを手動で行う方法です。
VirtualBox 上に何らかの Linux 仮想サーバを構築し、その上で Docker を使います。
前述2つのパッケージに含まれている GUI 等の機能が不要であれば、これが一番確実ではないかと。

ということで、私は一番最後のパターンを採用してみました。
Vagrant を使えば仮想マシンの作成は簡単ですし。
つまり、実質、Linux 上での Docker のインストールとなります(^_^;)

Dockerのインストール

上記の通り、Linux の仮想マシンをまず用意します。
あとは、Linux への Docker のインストール方法と同様です。

Linux への Docker のインストールは https://docs.docker.com/install/linux/docker-ce/ に情報があります。
CentOS であれば、https://docs.docker.com/install/linux/docker-ce/centos/ ですね。
ちなみに、http://docs.docker.jp/linux/step_one.html にインストールについて最初に読むべき日本語のページがありますので、興味のある方はどうぞ。
基本的には、yum 等のパッケージ管理経由でインストールすることが推奨されていますが、簡単さを重視したい人向けに https://get.docker.com/ でインストールする方法も上記に記載があります。

私は CentOS7 にしてみたので、これ以降は、CentOS7 の仮想マシン上での例になります。

まず、Dockerがすでにインストールされているようであれば削除します。

 # yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine


次に、必要なパッケージをインストールします。

 # yum install -y yum-utils device-mapper-persistent-data lvm2

※ちなみに、私が使った CentOS7 では既にインストール済みでした

次に、Dockerインストールで使用するリポジトリを追加します。

 # yum-config-manager --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo


Dockerパッケージをインストールします。
以前は docker-ce だけだったようですが、現在は3つに分割されたようです。

 # yum install docker-ce docker-ce-cli containerd.io


正常に完了したら起動してみましょう。

 # systemctl start docker


動作確認も用意されています。

 # docker run hello-world


必要であれば、自動起動設定をしておきましょう。

 # systemctl enable docker


この状態だと、docker 操作は root 権限が必要になってしまいます。
docker を使いたいユーザーを docker グループに所属させておけばそのユーザーで docker が操作できるので所属させておきましょう。
この場合は、vagrant ユーザーをグループに追加しておけば便利ですね。

 # usermod -aG docker vagrant
お問い合わせは 掲示板 にて。