LoginSignup
0
4

More than 5 years have passed since last update.

Windows 10 HomeでDocker Toolboxを使ってDockerを動かした

Last updated at Posted at 2018-07-07

概要

Windows 10 HomeでDockerを動かしました。
折角だから取り敢えず簡単にベンチマークしました。

Dockerを使えるようにする

今のところDocker For WindowsはWindows 10 Homeでは使えないようです。
Windows10 HomeでDocker環境構築を参考にDocker Toolboxを使ってDockerをWindows 10 Homeで使えるようにします。

Docker Toolboxのインストールをします。

PowerShellからDockerマシンを立ち上げてDockerを使えるようにします。

> docker-machine create default
> docker-machine start
> & "C:\Program Files\Docker Toolbox\docker-machine.exe" env | Invoke-Expression

コンテナを作って起動

必要なファイルを作る

ファイル構成
- Dockerfile
- benchmark.py
Dockerfile
FROM alpine:3.7

RUN apk --update add python3
RUN pip3 install --upgrade Benchmarker

ADD . /app
WORKDIR /app

CMD python3 benchmark.py
benchmark.py
from benchmarker import Benchmarker

with Benchmarker() as bench:
    @bench("add")
    def _(bench):
        count = 0
        for i in range(1000000):
            count += i

    @bench("append")
    def _(bench):
        l = []
        for i in range(1000000):
            l.append(i)

コンテナのビルドと実行

ビルド

> docker build -t dockertoolbox-benchmark .

実行

> docker run --rm -v /c/Users/{ユーザ名}/Documents/docker_test:/app -it dockertoolbox-benchmark

補足:Windowsで-vオプションを使って、例えば C:\Users\{ユーザ名}\Documents\docker_test というパスをマウントしたい場合は /c/Users/{ユーザ名}/Documents/docker_test といったフォーマットで書く必要があるみたいです。

実行結果

Docker Toolboxを使った場合

> docker run --rm -v /c/Users/{ユーザ名}/Documents/docker_test:/app -it dockertoolbox-benchmark
## benchmarker:         release 4.0.1 (for python)
## python version:      3.6.3
## python compiler:     GCC 6.4.0
## python platform:     Linux-4.9.93-boot2docker-x86_64-with
## python executable:   /usr/bin/python3
## cpu model:           Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz  # 3191.994 MHz
## parameters:          loop=1, cycle=1, extra=0

##                                       real    (total    = user    + sys)
add                                    0.2211    0.2200    0.2200    0.0000
append                                 0.2971    0.3000    0.2900    0.0100

## Ranking                               real
add                                    0.2211  (100.0) ********************
append                                 0.2971  ( 74.4) ***************

## Matrix                                real    [01]    [02]
[01] add                               0.2211   100.0   134.4
[02] append                            0.2971    74.4   100.0

Dockerを使わずWindowsで実行した場合

> python .\test.py
## benchmarker:         release 4.0.1 (for python)
## python version:      3.6.4
## python compiler:     MSC v.1900 64 bit (AMD64)
## python platform:     Windows-10-10.0.17134-SP0
## python executable:   C:\Users\{ユーザ名}\Anaconda3\python.exe
## cpu model:           Intel64 Family 6 Model 158 Stepping 10, GenuineIntel
## parameters:          loop=1, cycle=1, extra=0

##                                       real    (total    = user    + sys)
add                                    0.0596    0.0625    0.0625    0.0000
append                                 0.0859    0.0781    0.0625    0.0156

## Ranking                               real
add                                    0.0596  (100.0) ********************
append                                 0.0859  ( 69.3) **************

## Matrix                                real    [01]    [02]
[01] add                               0.0596   100.0   144.2
[02] append                            0.0859    69.3   100.0

Docker Toolboxを使った場合はそれなりに遅くなる。

TODO

いちいちディレクトリ名を指定せずにマウントをできるようにしたい。
PWDを使ってやってみたがエラーになる。

> docker run --rm -v ${PWD}:/app -it dockertoolbox-benchmark
C:\Program Files\Docker Toolbox\docker.exe: Error response from daemon: invalid mode: /app.
See 'C:\Program Files\Docker Toolbox\docker.exe run --help'.
0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4