laravel
docker
LaraDock

WindowsでLaradockをdocker-composeしようとすると.IOError: [Errno 2] No such file or directory: u'.\\docker-compose.yml:docker-compose.dev.yml

More than 1 year has passed since last update.

まず結論

複数ファイルを指定する際の区切り文字がLinux系とWindowsで異なるらしい。

前提

  • Windows10 Professional
  • Docker for Windows 17.09.0-ce-win33
  • Laradock v5.8.3

現象

Windows環境でのLaradock環境構築を進めていたところ、$ docker-compose を行う場面で以下のエラーが発生する。

docker-compose : .IOError: [Errno 2] No such file or directory: u'.\\docker-compose.yml:docker-compose.dev.yml'

数多あるWindowsでのLaradock環境構築記事にも特段の記載がないし、ドキュメントにも記載がない…と途方にくれていたのだが、

どうやらドキュメントの追記がプルリクエスト申請中だったようだ。

原因と対策

冒頭に示したとおりだが、区切り文字を正しく認識していなかったために「そのようなファイルがない」と判断されていたようである。

対策としては、$ cp env-example .env で作成した.envファイルの該当部分を以下のように変更すればOK。

# 変更前
COMPOSE_FILE=docker-compose.yml:docker-compose.dev.yml
# 変更後
COMPOSE_FILE=docker-compose.yml;docker-compose.dev.yml

Windowsでの開発は茨の道なのでDockerコンテナを立ち上げようとしたが、開発以前にハマるとは。

参考資料