windows 上で docker を使って dokuwiki を動かしたくて環境を作る。php だし windows で動かすのは難しくないのだけど、何事も試してみたいしうまく行けば他にも動かしたいものがある。パフォーマンスがもっさりなのか、それなりに速いのかも実際どうなのか気になる。
インストール
windows8 では Docker for Windows が動かないので、Docker Toolbox をダウンロード (docker.io でダウンロードできるのは古そう) してインストール
ConEmu で動かしたいので Task を登録。
"C:\Program Files\Git\bin\bash.exe" --login -i "C:\Program Files\Docker Toolbox\start.sh" "-new_console:d:C:\Program Files\Docker Toolbox"
プロキシ
.bashrc に proxy と no_proxy を設定する
export no_proxy=192.168.99.100 export http_proxy=・・・
VirutalBox のイメージに直接入って proxy を設定する
- var/lib/boot2docker/profile に http_proxy= を追記
- us キーボードなので注意
- イメージを再起動
ポートフォワーディング
dokuwiki を立てるとして、docker を動かしている端末から localhost (127.0.0.1) でアクセスする場合と、外からアクセスする場合を定義。localhost はいらないと思う。
VirutalBox のイメージに入って proxy を設定するところがずっと分からずはまってた。知ってる人に聞けたから良かったけど web を漁ってるだけで見つけられたかなぁ。それっぽい記述は見るのだけど繋がらなかった。
いろいろハマったので以下にメモ。
Docker 立ち上がりでエラー
もともと Virtual Box が入ってたのか記憶が定かではないけど Docker の立ち上がりでエラーが出る
Starting "default"... (default) Check network to re-create if needed... Unable to start the VM: C:\Program Files\Oracle\VirtualBox\VBoxManage.exe startvm default --type hea dless failed: VBoxManage.exe: error: Failed to open/create the internal network 'HostInterfaceNetworking-VirtualBo x Host-Only Ethernet Adapter #2' (VERR_INTNET_FLT_IF_NOT_FOUND). VBoxManage.exe: error: Failed to attach the network LUN (VERR_INTNET_FLT_IF_NOT_FOUND) VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole Details: 00:00:01.315564 Power up failed (vrc=VERR_INTNET_FLT_IF_NOT_FOUND, rc=E_FAIL (0X80004005)) Looks like something went wrong in step ´Checking status on default´... Press any key to continue...
パラメータ指定で VirtualBox を入れたら動いた
VirtualBox-5.1.14-112924-Win.exe -msiparams NETWORKTYPE=NDIS5
バージョン違い
$ docker version time="2017-04-23T20:40:06+09:00" level=info msg="Unable to use system certificate pool: crypto/x509: system root pool is not available on Windows" Client: Version: 17.03.1-ce API version: 1.27 Go version: go1.7.5 Git commit: c6d412e Built: Tue Mar 28 00:40:02 2017 OS/Arch: windows/amd64 Server: Version: 17.04.0-ce API version: 1.28 (minimum version 1.12) Go version: go1.7.5 Git commit: 4845c56 Built: Wed Apr 5 18:45:47 2017 OS/Arch: linux/amd64 Experimental: false
あまり検証できてないけど、Client と Server のバージョンが一致しなかったので Docker と VirtualBox 両方を消してからインストールし直した。