Skip to content

terminal handling on exec is completely unusable in 2.3.4 #9315

Closed
@rfay

Description

@rfay

Description

In 2.3.4, you can't docker-compose exec -it into a container... your terminal gets captured and you can't do anything.

Steps to reproduce the issue:

  1. Use this docker-compose.yaml:
services:
  deb:
    image: debian:bullseye
    command: tail -f /dev/null
  1. docker-compose up -d
  2. docker-compose exec -it deb bash

You'll get the initial prompt, but you can't interact with bash at all. It hangs. And you have to kill the terminal emulator to continue.

Describe the results you expected:

This has worked for years, of course, and was fine in 2.3.3.

Output of docker compose version:

Docker Compose version v2.3.4

Output of docker info:

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc., v0.8.1)
  compose: Docker Compose (Docker Inc., v2.3.3)
  scan: Docker Scan (Docker Inc., v0.17.0)

Server:
 Containers: 6
  Running: 1
  Paused: 0
  Stopped: 5
 Images: 10
 Server Version: 20.10.13
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 2a1d4dbdb2a1030dc5b01e96fb110a9d9f150ecc
 runc version: v1.0.3-0-gf46b6ba
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
  cgroupns
 Kernel Version: 5.10.104-linuxkit
 Operating System: Docker Desktop
 OSType: linux
 Architecture: aarch64
 CPUs: 4
 Total Memory: 2.922GiB
 Name: docker-desktop
 ID: TUH5:TMNE:DVL2:J3WB:RCCS:YIPF:PO3Z:DODW:C3QF:NELR:TSNC:TTZU
 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
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5000
  127.0.0.0/8
 Live Restore Enabled: false

Additional environment details:

This seems to happen on all OSs. I ran a set of DDEV tests and all failed with this behavior.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions