🧭

docker compose v2.26.0からdocker compose up時に出るようになったナビゲーションメニューを無効化する

2024/06/18に公開

概要

docker compose up を実行すると、いつ頃からか v View in Docker Desktop w Enable Watch といったナビゲーションメニューがターミナルの最下部に出力されるようになりました。

redis  | 1:C 18 Jun 2024 05:33:19.738 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis  | 1:C 18 Jun 2024 05:33:19.738 * Redis version=7.2.5, bits=64, commit=00000000, modified=0, pid=1, just started
redis  | 1:C 18 Jun 2024 05:33:19.738 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
redis  | 1:M 18 Jun 2024 05:33:19.739 * monotonic clock: POSIX clock_gettime
redis  | 1:M 18 Jun 2024 05:33:19.740 * Running mode=standalone, port=6379.
redis  | 1:M 18 Jun 2024 05:33:19.740 * Server initialized
redis  | 1:M 18 Jun 2024 05:33:19.740 * Loading RDB produced by version 7.2.5
redis  | 1:M 18 Jun 2024 05:33:19.740 * RDB age 12 seconds
redis  | 1:M 18 Jun 2024 05:33:19.740 * RDB memory usage when created 0.90 Mb
redis  | 1:M 18 Jun 2024 05:33:19.741 * Done loading RDB, keys loaded: 25, keys expired: 0.
redis  | 1:M 18 Jun 2024 05:33:19.741 * DB loaded from disk: 0.001 seconds
redis  | 1:M 18 Jun 2024 05:33:19.741 * Ready to accept connections tcp

v View in Docker Desktop      w Enable Watch

このメニューが出たことによって、 docker compose up を実行したターミナルでは標準入力を受け付けなくなってしまいました。
Ctrl+C などでシグナル送信はできるのですが、改行したりというのが出来ず、しかも docker compose up に失敗したりするとターミナルの表示が崩れたり、シェルに戻って文字入力をしても表示されなくなるなどが発生するように…。

無効化の方法

このナビゲーションメニューは環境変数かオプションで無効化ができます。
COMPOSE_MENU=0 という環境変数を定義するか、 docker compose up --menu=false として起動すれば、ナビゲーションメニューが無効化されて従来の出力に戻ります。

$ COMPOSE_MENU=0 docker compose up

or

$ export COMPOSE_MENU=0
$ docker compose up

or

$ docker compose up --menu=false

2024年6月18日現在では、環境変数 COMPOSE_MENU についてはドキュメントに記載があります。

docker compose が v2.26.0 以降で Docker Desktopが 4.29 以降であれば環境変数で制御できるようです。

Available in Docker Compose version 2.26.0 and later, and Docker Desktop version 4.29 and later

https://docs.docker.com/compose/environment-variables/envvars/#compose_menu

が、 --menu オプションについてはドキュメントが生成されていないのか記載がありません。

https://docs.docker.com/reference/cli/docker/compose/up/#options

ドキュメント追加のPRはあるので、ドキュメントが未生成なのか、見ているページが違うのでしょうね。

https://github.com/docker/compose/pull/11800

2024/07/04 追記

確認したところ --menu オプションが追加されていました。

(おまけ)その他確認できる関連PRやissue

今回の機能追加における実際のPRはこちらです。

https://github.com/docker/compose/pull/11605

恐らく議論はPRコメントにあるJiraでされたのでしょうが、権限の影響で内容を見ることはできませんでした。多分Docker社内で使用されているものなのでしょうね。

結果、上記PRはマージされ、v2.26.0のリリース時に追加されます。

Add navigation menu with in compose up (attached) by @jhrotko in #11605

https://github.com/docker/compose/releases/tag/v2.26.0

ただしこの機能はちょっとした混乱を呼び、Windowsではバグも出ていたようで、Docker Desktop for Windowsのリポジトリでは幾つかissueが作られる形となってしまいました。

https://github.com/docker/for-win/issues/14021
https://github.com/docker/for-win/issues/14036

私はmacOSでの利用だったのでWindowsのようなバグは出ませんでしたが、それでも挙動が突如変わってしまったのと、前述のようにターミナルの表示が崩れたりというのがあったため、無効化するまでは少し不便でした。
せめてデフォルトで無効であればよかったんですが…。

SKIYAKI Tech Blog

Discussion