docker-composeで作成されるネットワークに名前をつける

最近、docker-composeのバージョンが1.19.0になり、top levelのnetworks設定でネットワークに名前をつけられるうようになりました。

詳細

書き方

このサンプルでは、 default のネットワークに名前をつけています。

テスト

$ docker-compose up -d
Creating network "my-app-net" with the default driver
Creating my-app ... done
$ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
00e3979af2cb        bridge              bridge              local
8ed93f63f7d6        host                host                local
813eaeafec79        my-app-net          bridge              local # <- ここ
c35596c3704b        none                null                local

ブラウザで localhost:8080 にアクセスすると、NginxのWelcomeページが表示されます。

対応バージョン

dockerのバージョンは 17.06.0+ にする必要があるようです。

余談

networkの名前が固定化されることで、 docker run --network my-app-net hello-world などでプロセスを実行するときに意味がわかりやすくなって便利!