Description
If your container emits error logs without a newline at the end, Compose quietly drops them.
Steps To Reproduce
compose.yaml:
services:
sleep:
image: alpine
entrypoint: sh -c "echo -n exiting; exit 1"
run:
Expected behavior:
Compose to show "exiting" in the logs
Actual behavior:
No logs shown
[+] Building 0.0s (0/0)
[+] Running 2/2
✔ Network scratch_default Created 0.0s
✔ Container scratch-sleep-1 Created 0.1s
Attaching to scratch-sleep-1
scratch-sleep-1 exited with code 1
Compose Version
$ docker compose version
Docker Compose version v2.18.1
Docker Environment
Client: Docker Engine - Community
Version: 24.0.2
Context: desktop-linux
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.0.1-cloud-driver+005
Path: /home/nick/.docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.18.1
Path: /usr/lib/docker/cli-plugins/docker-compose
dev: Docker Dev Environments (Docker Inc.)
Version: v0.1.0
Path: /usr/lib/docker/cli-plugins/docker-dev
extension: Manages Docker extensions (Docker Inc.)
Version: v0.2.19
Path: /usr/lib/docker/cli-plugins/docker-extension
init: Creates Docker-related starter files for your project (Docker Inc.)
Version: v0.1.0-beta.4
Path: /usr/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/lib/docker/cli-plugins/docker-sbom
scan: Docker Scan (Docker Inc.)
Version: v0.26.0
Path: /usr/lib/docker/cli-plugins/docker-scan
scout: Command line tool for Docker Scout (Docker Inc.)
Version: v0.12.0
Path: /usr/lib/docker/cli-plugins/docker-scout
WARNING: Plugin "/usr/lib/docker/cli-plugins/docker-compose.14.backup" is not valid: plugin candidate "compose.14.backup" did not match "^[a-z][a-z0-9]*$"
Server:
Containers: 6
Running: 0
Paused: 0
Stopped: 6
Images: 44
Server Version: 24.0.2
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: 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 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 3dce8eb055cbb6872793272b4f20ed16117344f8
runc version: v1.1.7-0-g860f061
init version: de40ad0
Security Options:
seccomp
Profile: builtin
cgroupns
Kernel Version: 5.15.49-linuxkit-pr
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 6
Total Memory: 9.729GiB
Name: docker-desktop
ID: a92cef06-564f-4766-91bd-bc9e839af9fa
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
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5555
127.0.0.0/8
Live Restore Enabled: false
Anything else?
Note that the Docker Desktop UI shows the logs correctly. 👀
Description
If your container emits error logs without a newline at the end, Compose quietly drops them.
Steps To Reproduce
compose.yaml:
run:
Expected behavior:
Compose to show "exiting" in the logs
Actual behavior:
No logs shown
Compose Version
Docker Environment
Anything else?
Note that the Docker Desktop UI shows the logs correctly. 👀