概要
windows 10 HomeにDockerを入れてみたメモ。
うまくいかない部分があり、未解決。
今まで通り、ubuntuを使ったほうが安定する気がする。
導入
windows 10 home で docker を導入するメモを見ながら導入。
インストールはchocolteyを導入しているので、以下で一発だった。(参考:Chocolateyを使った環境構築の時のメモ)
cinst docker-toolbox -y
手順に従ってインストールを進めると、C:\Users\【ユーザ名】.docker\machine\machines\default\にvirtual boxのストレージができてしまった。
Cドライブの容量をあまり増やしたくなかったので、Dockerホストマシンのストレージを移動を参考にして、以下の2ファイルをDドライブに移した。
C:\Users\【ユーザ名】.docker\machine\machines\default\disk.vmdk
C:\Users\【ユーザ名】.docker\machine\machines\default\boot2docker.iso
C:\Users\【ユーザ名】.docker\machine\machines\default\default\default.vboxの以下の2点を編集。
ここの設定で、SharedFoldersEnableSymlinksCreate ... 共有フォルダの設定として、C:\Users\フォルダ以下である点が少し気になる。
動作確認
以下のようなファイルを作成し、docker-compose up
で試したところ、アクセスには成功した。
docker-machine ls
で起動しているIPを確認してブラウザからアクセスした。
ポートはdocker-compose.ymlで指定しているので8080となる。
http://192.168.99.100:8080/
問題
長いDockerファイルのイメージを作成するときに以下のエラーがでる。
エラーが出ている付近のコマンドはRUN yarn add --dev postcss-loader
だが、
これだけを実行しても発生しない。RUN yarn を多く行った状況でのみ発生する。
どなたか解決法ご存じでしたらお教えください。
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以上であるように見える。。
docker info
で表示される、この辺りに問題のキモがありそうな気がするのだが。。
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
にはあまり有益な情報はなさそう。
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
$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 を導入するメモ
Dockerホストマシンのストレージを移動
Windows 10にDocker ToolboxをDドライブに入れようとしてハマった点
windows10 homeのwslにdockerをインストールする
Docker が動かない
Dockerでoverlayfs使おうっていったけど…
Dockerイメージとコンテナの削除方法
Docker startできなくなった
Docker Toolbox がクラサバ環境で稼働している様子を観察してみた
docker run -v のホストパスの制限について調べた
OverlayFS ストレージの使用
Windows環境にDocker Toolboxをインストールする
Chocolateyを使った環境構築の時のメモ