13
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Windows7のDocker Toolboxでdocker-compose up のエラー対応メモ

Last updated at Posted at 2017-01-13

Windows7のDocker Toolboxでdocker-compose up のエラー対応メモ

Docker超初級者です。
docker-compose upを実行した際にエラーに遭遇しましたので共有させていただきます。

Docker Quickstart Terminal上で操作しています。

環境

  • Windows 7
  • Docker Toolbox (1.12.6)
    • Docker version 1.12.6, build 78d1802
    • docker-compose version 1.9.0, build 2585387

エラー内容

$ docker-compose up
Creating mt6_mysql_mt6_1

ERROR: for mysql_mt6  Cannot create container for service mysql: Invalid bind mount spec "C:\\Users\\tom\\Projects\\mt6\\db\\mysql:/var/lib/mysql:rw": Invalid volume specification: 'C:\\Users\\tom\\Projects\\mt6\\db\\mysql:/var/lib/mysql:rw'
ERROR: Encountered errors while bringing up the project.

ファイルパスの指定方法が間違っており、ファイルのマウントが出来ないようです。

C:\\Users\\tom\\Projects\\mt6\\db\\mysql:/var/lib/mysql:rw

パスがWindowsの形式になっていますね。

docker-compose.yaml抜粋
    volumes:
      - ./db/mysql:/var/lib/mysql

volumesの設定は相対パス。

原因と対策

原因

最新版のdocker-compose(1.9.0)にはBreaking Changeがあり、WindowsでDocker Toolboxを使っている場合、今まで自動でWindowsパスを変換(C:\Users → /c/Users)してくれていたが、1.9.0からはデフォルトで無効となったとのこと。

参考 → github.com/docker/compose/releases/tag/1.9.0

対策

環境変数にCOMPOSE_CONVERT_WINDOWS_PATHS=1を設定することでWindows形式のファイルのパスを変換するようになります。

$ COMPOSE_CONVERT_WINDOWS_PATHS=1 docker-compose up

私の環境ではこれでうまくいきました。


以上です。

13
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?