-
Notifications
You must be signed in to change notification settings - Fork 254
docker-compose run does not detect EOF and hangs #1944
Description
Description
On receiving an EOF character, docker-compose should exit gracefully. Instead it seems to hang and needs to be stooped via ^C.
Ideally, running docker-compose on a Mac to receive input from the Mac should quit gracefully after the EOF character is received. But what is happening instead is that the command hangs and has to be forcefully quit via Control-C
Example docker-compose.yml file
version: '3'
services:
ubuntu:
image: ubuntu:18.04
Steps to reproduce the issue:
- Use the above
docker-compose.ymlfile echo hello | docker-compose run ubuntu cat
Describe the results you received:
It prints hello twice and hangs
jamie@Jcho-mbp13 tmp % echo hello | docker-compose run ubuntu cat
hello
hello
^C^CERRO[0003] got 3 SIGTERM/SIGINTs, forcing shutdown
jamie@Jcho-mbp13 tmp %
Describe the results you expected:
It should printhello once and exit
jamie@Jcho-mbp13 tmp % echo hello | docker-compose run ubuntu cat
hello
jamie@Jcho-mbp13 tmp %
Additional information you deem important (e.g. issue happens only occasionally):
Happens 100% of the time
Seems related to:
docker/compose#3829
https://github.com/docker/compose-cli/issues/1894
**Output of docker-compose --version: ***
Docker Compose version v2.0.0-beta.6
Output of docker version:
Client:
Cloud integration: 1.0.17
Version: 20.10.7
API version: 1.41
Go version: go1.16.4
Git commit: f0df350
Built: Wed Jun 2 11:56:22 2021
OS/Arch: darwin/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.7
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: b0f5bc3
Built: Wed Jun 2 11:54:58 2021
OS/Arch: linux/amd64
Experimental: true
containerd:
Version: 1.4.6
GitCommit: d71fcd7d8303cbf684402823e425e9dd2e99285d
runc:
Version: 1.0.0-rc95
GitCommit: b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Output of docker context show:
You can also run docker context inspect context-name to give us more details but don't forget to remove sensitive content.
default
Output of docker info:
Client:
Context: default
Debug Mode: false
Plugins:
buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)
compose: Docker Compose (Docker Inc., v2.0.0-beta.6)
scan: Docker Scan (Docker Inc., v0.8.0)
Server:
Containers: 422
Running: 21
Paused: 0
Stopped: 401
Images: 101
Server Version: 20.10.7
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: 1
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: d71fcd7d8303cbf684402823e425e9dd2e99285d
runc version: b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
init version: de40ad0
Security Options:
seccomp
Profile: default
Kernel Version: 5.10.25-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.942GiB
Name: docker-desktop
ID: NEDR:HX2N:I5LS:TJHJ:DT25:WVI5:6S3C:34R3:HOQB:7V3E:46ZE:FYRT
Docker Root Dir: /var/lib/docker
Debug Mode: true
File Descriptors: 240
Goroutines: 233
System Time: 2021-07-23T01:45:15.4657041Z
EventsListeners: 3
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
Registry: https://index.docker.io/v1/
Labels:
Experimental: true
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Default Address Pools:
Base: 192.168.128.0/17, Size: 24
Additional environment details (AWS ECS, Azure ACI, local, etc.):