Windows10 Home + Docker tool boxを使ったがエラーが出たメモ。

## 概要

windows 10 HomeにDockerを入れてみたメモ。
うまくいかない部分があり、未解決。
今まで通り、ubuntuを使ったほうが安定する気がする。

## 導入

[windows 10 home で docker を導入するメモ][*4]を見ながら導入。
インストールはchocolteyを導入しているので、以下で一発だった。(参考：[Chocolateyを使った環境構築の時のメモ][*13]）

```console
cinst docker-toolbox -y
```

手順に従ってインストールを進めると、C:\Users\【ユーザ名】\.docker\machine\machines\default\にvirtual boxのストレージができてしまった。
Cドライブの容量をあまり増やしたくなかったので、[Dockerホストマシンのストレージを移動][*1]を参考にして、以下の2ファイルをDドライブに移した。

C:\Users\【ユーザ名】\.docker\machine\machines\default\disk.vmdk
C:\Users\【ユーザ名】\.docker\machine\machines\default\boot2docker.iso

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99876/d2f0a8ed-6497-5a2c-287e-e071245ef375.png)


C:\Users\【ユーザ名】\.docker\machine\machines\default\default\default.vboxの以下の2点を編集。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99876/e33fd05c-5b9e-dd05-ce56-d7904ffb5f30.png)

ここの設定で、SharedFoldersEnableSymlinksCreate ... 共有フォルダの設定として、C:\Users\フォルダ以下である点が少し気になる。

## 動作確認

以下のようなファイルを作成し、`docker-compose up`で試したところ、アクセスには成功した。
`docker-machine ls`で起動しているIPを確認してブラウザからアクセスした。
ポートはdocker-compose.ymlで指定しているので8080となる。
http://192.168.99.100:8080/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99876/3a4e8ce1-f5c3-a09a-3bfc-6f5eaf15c0b6.png)

## 問題

長いDockerファイルのイメージを作成するときに以下のエラーがでる。
エラーが出ている付近のコマンドは`RUN yarn add --dev postcss-loader`だが、
これだけを実行しても発生しない。RUN yarn を多く行った状況でのみ発生する。
どなたか解決法ご存じでしたらお教えください。


```console
ERROR: Service 'garden' failed to build: error creating overlay mount to /mnt/sda1/var/lib/docker/overlay2/4400b58bc390b0cfbd1c0b1db1aebd1f609a9739b0ddbdc32e636040ced5b39f-init/merged: no such file or directory
```

linuxカーネルのバージョンが4以上でないと対応していないという情報もあったが、動作しているカーネルは4以上であるように見える。。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99876/df1c6e8a-8b33-3533-6709-0b17ffbb265e.png)

`docker info`で表示される、この辺りに問題のキモがありそうな気がするのだが。。

```console
Client:
 Debug Mode: false

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 149
 Server Version: 19.03.1
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Operating System: Boot2Docker 19.03.1 (TCL 10.1)
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 3.856GiB
 Name: default
 ID: SX5N:ETJT:3OO3:4JFL:6NER:EJPT:6GDC:C4SD:2BIU:YBWD:BE7F:VGJE
 Docker Root Dir: /mnt/sda1/var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
  provider=virtualbox
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
 Product License: Community Engine
```

`docker-machine env`,`docker-machine config`,`docker-machine inspect`にはあまり有益な情報はなさそう。

```console
You can further specify your shell with either 'cmd' or 'powershell' with the --shell flag.

SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\【ユーザ名】\.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default
SET COMPOSE_CONVERT_WINDOWS_PATHS=true
REM Run this command to configure your shell:
REM     @FOR /f "tokens=*" %i IN ('"C:\Program Files\Docker Toolbox\docker-machine.exe" env') DO @%i
```

```console
$docker-machine config
--tlsverify
--tlscacert="C:\\Users\\【ユーザ名】\\.docker\\machine\\machines\\default\\ca.pem"
--tlscert="C:\\Users\\【ユーザ名】\\.docker\\machine\\machines\\default\\cert.pem"
--tlskey="C:\\Users\\【ユーザ名】\\.docker\\machine\\machines\\default\\key.pem"
-H=tcp://192.168.99.100:2376
```


## 参考


[windows 10 home で docker を導入するメモ][*4]
[Dockerホストマシンのストレージを移動][*1]
[Windows 10にDocker ToolboxをDドライブに入れようとしてハマった点][*2]
[windows10 homeのwslにdockerをインストールする][*3]
[Docker が動かない][*5]
[Dockerでoverlayfs使おうっていったけど…][*6]
[Dockerイメージとコンテナの削除方法][*7]
[Docker startできなくなった][*8]
[Docker Toolbox がクラサバ環境で稼働している様子を観察してみた][*9]
[docker run -v のホストパスの制限について調べた][*10]
[OverlayFS ストレージの使用][*11]
[Windows環境にDocker Toolboxをインストールする][*12]
[Chocolateyを使った環境構築の時のメモ][*13]


[*1]:https://ts0818.hatenablog.com/entry/2017/07/23/183955
[*2]:https://qiita.com/kjunichi/items/8412e397307a7b8892fe
[*3]:https://mecobalamin.hatenablog.com/entry/2019/03/31/031422
[*4]:https://qiita.com/idani/items/fb7681d79eeb48c05144
[*5]:https://qiita.com/suzanHud/items/7b5d8f075e341e63172c
[*6]:https://qiita.com/Gin/items/0dde20f883c18b787106
[*7]:https://qiita.com/tifa2chan/items/e9aa408244687a63a0ae
[*8]:https://teratail.com/questions/122370
[*9]:https://qiita.com/yamachan360/items/94dc0c6879927cbdc781
[*10]:https://qiita.com/masayuki14/items/633c7ab3e0f89cc5a30e
[*11]:http://docs.docker.jp/engine/userguide/storagedriver/overlayfs-driver.html
[*12]:https://qiita.com/KIYS/items/8ac37f6757a6b7f84569
[*13]:https://qiita.com/konta220/items/95b40b4647a737cb51aa