for-win icon indicating copy to clipboard operation
for-win copied to clipboard

Docker Compose navigation bar overwrites portion of service stdout log lines

Open makinbacon21 opened this issue 10 months ago • 13 comments

Description

Our development flow uses docker compose up to start our dev environments and view live logs. Since Docker Desktop v4.29.0, we now have a stupid Docker Desktop message that overwrites the bottom of stdout, so anything multiline that wraps (like a stack trace) breaks it and half the log is just the message.

Message: v View in Docker Desktop w Enable Watch

image

Reproduce

  1. docker compose up
  2. Print something from the container

Expected behavior

No response

docker version

Client:
 Cloud integration: v1.0.35+desktop.13
 Version:           26.0.0
 API version:       1.45
 Go version:        go1.21.8
 Git commit:        2ae903e
 Built:             Wed Mar 20 15:16:45 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Desktop
 Engine:
  Version:          26.0.0
  API version:      1.45 (minimum version 1.24)
  Go version:       go1.21.8
  Git commit:       8b79278
  Built:            Wed Mar 20 15:18:01 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.28
  GitCommit:        ae07eda36dd25f8a1b98dfbf587313b99c0190bb
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

docker info

Client:
 Version:    26.0.0
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.13.1-desktop.1
    Path:     /usr/local/lib/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.26.1-desktop.1
    Path:     /usr/local/lib/docker/cli-plugins/docker-compose
  debug: Get a shell into any image or container. (Docker Inc.)
    Version:  0.0.27
    Path:     /usr/local/lib/docker/cli-plugins/docker-debug
  dev: Docker Dev Environments (Docker Inc.)
    Version:  v0.1.2
    Path:     /usr/local/lib/docker/cli-plugins/docker-dev
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.23
    Path:     /usr/local/lib/docker/cli-plugins/docker-extension
  feedback: Provide feedback, right in your terminal! (Docker Inc.)
    Version:  v1.0.4
    Path:     /usr/local/lib/docker/cli-plugins/docker-feedback
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v1.1.0
    Path:     /usr/local/lib/docker/cli-plugins/docker-init
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
    Version:  0.6.0
    Path:     /usr/local/lib/docker/cli-plugins/docker-sbom
  scout: Docker Scout (Docker Inc.)
    Version:  v1.6.3
    Path:     /usr/local/lib/docker/cli-plugins/docker-scout
WARNING: Plugin "/usr/local/lib/docker/cli-plugins/docker-scan" is not valid: failed to fetch metadata: fork/exec /usr/local/lib/docker/cli-plugins/docker-scan: no such file or directory

Server:
 Containers: 4
  Running: 3
  Paused: 0
  Stopped: 1
 Images: 15
 Server Version: 26.0.0
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: runc io.containerd.runc.v2
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
 runc version: v1.1.12-0-g51d5e94
 init version: de40ad0
 Security Options:
  seccomp
   Profile: unconfined
 Kernel Version: 5.15.146.1-microsoft-standard-WSL2
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 7.678GiB
 Name: docker-desktop
 ID: 9b25a948-41b3-43e9-bd2e-d766f19b04b0
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Labels:
  com.docker.desktop.address=unix:///var/run/docker-cli.sock
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5555
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support
WARNING: daemon is not using the default seccomp profile

Diagnostics ID

19A580A1-07E3-4440-AB92-04F460D1B90B/20240416142037

Additional Info

Windows 11 build 22631.3447

makinbacon21 avatar Apr 16 '24 14:04 makinbacon21

Unfortunately, Settings -> General -> untick 'Show CLI hints' does not turn this off. Very annoying.

florimon avatar Apr 17 '24 14:04 florimon

@makinbacon21 @florimon you can turn it off using an ENV var:

COMPOSE_MENU=0

We are looking at a fix

eudaimos avatar Apr 18 '24 18:04 eudaimos

@eudaimos It works like a charm! Do you know where it is documented? (I want to know if there are any side effects of setting COMPOSE_MENU=0.)

your-diary avatar Apr 24 '24 04:04 your-diary

This was causing me different issues. I had read -r MY_VAR in my bash script after the docker compose command and it was basically locking my terminal. Couldn't even ctrl-c. disabled with export COMPOSE_MENU=0 and it worked fine.

jjmerri avatar Apr 24 '24 15:04 jjmerri

Hello, @makinbacon21. Thank you for your feedbackl! Two PRs were merged: one with a fix and another improving the documentation for this experimental feature. The fix for your issue was released in compose v2.27.0 which was included in Docker Desktop release for v4.30.0

jhrotko avatar May 08 '24 10:05 jhrotko

@makinbacon21 @florimon you can turn it off using an ENV var:

COMPOSE_MENU=0

We are looking at a fix

OMG THANK YOU! That silly panel is sooo damn annoying! I often like to hit enter a few times to add some spacing between log messages while debugging stuff and that stupid panel just prevents the expected Enter key behavior. And it's just absolutely useless! I know where to damn open docker ui or enable watch if I want to!!

shelby-carter avatar May 18 '24 23:05 shelby-carter

Additionally to the issues mentioned above, it tends to break the iTerm2 terminal session (the newline in PS prompt is no longer printed).

This is a great example of an unnecessary "UX improvement". Dear docker team - I really appreciate all the hard work you give to us. And I have a kind request - If this feature is here to stay, can you please ensure that the COMPOSE_MENU=0 way of disabling it will always be there?

shalak avatar May 21 '24 14:05 shalak

I use iterm2, and found that once the compose-menu is shown in my terminal via a "docker compose up " command, it's as though the font color for the command is now black or matching the background color of the terminal. I can still type commands and see their output - but I cannot see my cursor nor what I'm typing. I've had to close and reopen a terminal to get things functioning normally again. Thanks for the info on the env var to disable this.

jaredc avatar Jun 07 '24 05:06 jaredc

It's not fixed in 2.27 for me @jhrotko

kamcknig@kyles-pc ~$ docker --version
Docker version 26.1.1, build 4cf5afa

kamcknig@kyles-pc ~$ docker compose version
Docker Compose version v2.27.0-desktop.2

Screenshot 2024-06-11 142711

Screenshot 2024-06-11 142758

This still happens for me

kyle-mcknight avatar Jun 11 '24 18:06 kyle-mcknight

Unfortunately, Settings -> General -> untick 'Show CLI hints' does not turn this off. Very annoying.

Worked for me, retry

rishutripathi avatar Jul 09 '24 05:07 rishutripathi

@makinbacon21 @florimon you can turn it off using an ENV var:

COMPOSE_MENU=0

We are looking at a fix

Local env and disabling Show CLI hints didn't work for me. What I did was run compose like this:

docker compose up --menu=false

jonasmarco avatar Jul 23 '24 14:07 jonasmarco

@makinbacon21 @florimon you can turn it off using an ENV var:

COMPOSE_MENU=0

We are looking at a fix

Local env and disabling Show CLI hints didn't work for me. What I did was run compose like this:

docker compose up --menu=false

Is it possible to disable this when using docker-sync ?

jpdery avatar Jul 28 '24 14:07 jpdery

Still happening image

tuanalumi avatar Sep 13 '24 04:09 tuanalumi