hamacoの日記

どうでもいい日常をたれながす日記だと思う

Windows で Docker Compose を使って MySQL 動かそうとしたらハマった

はじめに

普段 Mac を使ってるので、Docker Compose 使う時もその辺で見つけてきたやつをちょろっと弄った程度で使っていて困っていなかったんだけど、別の人が Windows 環境で動かそうとしたらハマったのでその時のメモ。
しかし、今って Windows でも普通に Docker 使えるんですね。 以前 PHPカンファレンスで聞いた時は VirtualBox と共存できないとかそんな話を聞いてたんですが…。

前提

細かい所はおいといて、ざっくりと MySQL 部分の docker-compose.yml こんな感じで書いていました。
Laravel を使ってたので storage の下にデータが永続化されるような設定…だと思う。

version: '3.4'
services:
    mysql:
        image: mysql:8.0
        volumes:
            - ./storage/mysql:/var/lib/mysql:cached

これが Windows 環境で実行すると何故か落ちる。(他人のPCなのでエラーメッセージコピペできなかった( ˘ω˘))
Windows 環境に永続化させようとするとダメ? よく分からなかったので、ググってみると volumes の指定方法が違うやり方の docker-compose.yml を見たのでそれやったら解決したって話。

version: '3.4'
services:
    mysql:
        image: mysql:8.0
        volumes:
            - db-data:/var/lib/mysql:cached
volumes:
    db-data:

volumes のローカルディレクトリ指定をやめて、トップレベルに volumes で指定してやっただけ。