いがにんのぼやき

WEBエンジニアのブログ。IT、WEB、バンド、アニメ。

PhpStorm + Docker for Windowsを試す

Docker for Windowsの設定を開き、Generalタブを選択する。
Expose daemon on tcp://localhost:2375 without TLS にチェックをつける。

f:id:igatea:20171211185955p:plain

PhpStormのDockerの設定を行う。
設定を開きDockerと検索し、Build, Execution, DeploymentのDockerを選択する。
プラスボタンを押し、TCP socketを選択するとウィンドウ配下に接続可能か検証結果が表示される。

f:id:igatea:20171211190108p:plain

Connection succesfulと表示されれば成功。

再度、設定を開きPHPと検索。
Languages & Frameworksの中のPHPを選択し、CLI Interpreterの...をクリック。

f:id:igatea:20171211190558p:plain

Docker(またはDocker Compose)が選択されていることを確認し、Serverを先ほど作成したDockerの設定を選択する。

PHP veresin: Not installedと表示される。

f:id:igatea:20171211190946p:plain

おそらくDockerをビルドしていないからだと予想。
該当ディレクトリでdocker-compose build

それでもエラーが出ているのでdocker-compose up -dで立ち上げてみる。

やはりだめ。

com.github.dockerjava.api.exception.BadRequestExceptions: {"message":"invalid environment variable: =::=::\\"}

f:id:igatea:20171211204031p:plain

MobyLinuxVMではなく、別にHyper-V上にDocker Machineを立ててやってみようとしたけど駄目だった。

Docker Compose経由を諦めて、Docker単体で動作させてみた。

Testing started at 2:43 ...
docker://laravelsampleblog_php:latest/php vendor/phpunit/phpunit/phpunit --configuration /src/phpunit.xml --teamcity
Could not open input file: vendor/phpunit/phpunit/phpunit

Process finished with exit code 1

パスが解決できてないっぽい?
どうもここから進まない。

Windowsにすることによって、Ubuntuのときよりも構築障壁が高くなりすぎている。
.Net系以外は仮想環境でUbuntuでも立てて、そこで開発するようにするか検討しようと思う。

2017/12/18追記
f:id:igatea:20171218172449p:plain Include parent environment variablesのチェックを外したら正常に動作しました!!

f:id:igatea:20171218172937p:plain

この一番上の変数がよくないようだ。
だけどこれがどこで定義されているものなのかがわからない。
コマンドプロンプトPowerShellか、変数が定義されているのかと思って確認してみたがそれらしいものは無し。
とりあえず動かすことができてよかったが、もやもやが残っている。