Help us understand the problem. What is going on with this article?

windows 10 home で docker を導入するメモ

More than 1 year has passed since last update.

目標

Windows10 HomeにDockerを導入するために必要な手順と最低限の知識をまとめようと思う。
あと、2018/06/16(日)にWindows10 Homeに Dockerを導入した手順となる。

対象者(ここ重要)

Windows10 Homeの利用者に限ります。しかも64bitしかダメです。
Windows10 Professional、Windows Serverの人は対象にしません。

理由は、Windows10 Pro、Serverは、Windows自身が備える仮想環境(Hyper-V)を使ってDockerが動くためです。しかし、Homeは、Hyper-Vが使えないです。

Windows10 Pro/Serverの利用者で、Dockerを導入したい方は、「windows10 pro docker」のGoogle検索で上位にでてくるので参照されるとよいのではないでしょうか?

Docker Toolboxの導入

Hyper-Vが動かないHomeでは、Hyper-Vの代わりにOracle Virtual Boxを利用する、
Docker Toolboxを利用します。

ダウンロード

https://docs.docker.com/toolbox/overview/ を開きます。

レガシー!? と書いてありますが、気持ち負けたらダメです。
機能的には最新の「Docker for windows」と変わりませんし、
逆に、不具合がなく安定している製品と考えた方がよいです。

2018-06-16_13h26_03.png

気持ち折れずに、ページをするする下の方に行くと、ダウンロードリンクがでてきますのでゲットします。
VirtualBoxも含まれていますので、サイズが211MBと大きいです。気長に待ちます。

2018-06-16_13h30_38.png

インストール

ダウンロードが完了すると、このようなアイコンのファイルができますので、ダブルクリックしてインストールを進めます。
2018-06-16_13h35_08.png

インストールが完了すると、デスクトップ上に以下の3つのアイコンが作成されます。

2018-06-16_13h36_46.png

初期設定

さきほどの3つのアイコンの「Docker Quickstart Terminal」を起動します。

ターミナルが開いて、初期設定が始まります。
Dockerのクジラマークが表示されたら完了です。
2018-06-16_13h51_22.png

動作確認

さきほどのターミナル上で、以下のようにコマンドを打ちます。

docker run hello-world

以下の画像が表示されれば完了です。
2018-06-16_13h53_23.png

実際の使い方

この後は、「Lamp」環境を作ったり、「Node.js」の環境を作ったりするためのベースができました。

こちらは割愛します。

ファイル共有の仕方 と 構成の再確認

Dockerコンテナとのファイル共有をしたい場合に、現在の構成を知っておく方がよいので書いておく。

構成

構築されているDocker環境は、以下の図のような構成となっている。
2018-06-16_14h12_25.png

たぶん、この図でわかると思いますが、簡単に説明していきます。

  • 一番下の「Windows10 Home(64)」が、普段使っているPCにインストールされているOSになります。
  • 下から2番目の「Oracle Virtual Box」が仮想環境を提供します。
    • デスクトップに作成された「Oracle VM Virtuabox」というアイコンをクリックすると画面が表示されますが、通常はバックグラウンドで動作をするので目に触れることはありません。
  • 「仮想マシン(default)」がDockerの環境を提供するLinuxマシンになります。
  • 一番上が「Dockerコンテナ」となります。

「Docker Quickstart Terminal」を起動すると、「Oracle VirtualBox」と「仮想マシン(default)」が順に起動します。

ファイル共有

Dockerが提供するファイル共有というのは、DockerコンテナとホストOS(ここでは仮想マシン(default)になります。

実際にWindows10 上のファイルを共有する場合は、VirtualBoxの機能を使って仮想マシン(default)に提供する必要があるのです。

3階層もあるので少し重たい感じがしますね。

このあたりは、以下記事が参考になります。

停止する

「Docker Quickstart Terminal」を実行すると、Oracle VM と その上のLinuxが動作します。
「Docker Quickstart Terminal」をExitしただけでは、これからはバックグラウンドで動作をし続けます。
これはちょっと嫌だなぁということで、停止の仕方を記載しておきます。
※自分でも久しぶりに動かすと忘れてしまっていた。。。

動いているコンテナがないか確認する

以下は、すべてのコンテナが停止状態なので止められる状態です。

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

こちらは、「dc993ecd29ba」が動作している状態です。

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
dc993ecd29ba        ubuntu              "bash"              16 seconds ago      Up 15 seconds                           friendly_haibt

動いているコンテナがあれば止めます。

$ docker stop dc993ecd29ba
dc993ecd29ba

仮想マシンを止める。

仮想マシンの状態確認

こんな感じで、「default」という名称の仮想マシンが動作しています。
その上で停止コマンドを実行します。

$ docker-machine.exe ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER        ERRORS
default   *        virtualbox   Running   tcp://192.168.99.100:2376           v18.05.0-ce

$ docker-machine.exe stop
Stopping "default"...
Machine "default" was stopped.

これでOKです。

idani
井谷(いだに)と申します。 前職では、cakePHPとjQueryとVue.jsを使って、メール配信、SMS配信、セミナー募集システム、かんたんな決済処理、アフィリエイトシステムなどを開発していました。 使える言語は、C、C++、Perl、C#、PHP、JSになります。 昔々、Gentoo Linuxの翻訳作業をしていました。
https://hirotae.com/
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした