Open
Description
Description
Containers printing logs on shutdown don't get displayed.
Steps To Reproduce
Example code
package main
import (
"fmt"
"os"
"os/signal"
"syscall"
)
func main() {
sigChan := make(chan os.Signal, 1)
signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM)
fmt.Println("Hello, World!")
<-sigChan
fmt.Println("Goodbye, World!")
}
Example Dockerfile
FROM golang:alpine
WORKDIR /app
COPY . .
RUN go build -o hello .
CMD ["./hello"]
Example compose.yml
services:
hello:
build: .
-
Run
docker compose up --build
. -
Press CTRL + C to gracefully shutdown all the services.
-
Notice how you won't see the "Goodbye, World!" log but if you run
docker compose logs hello
, you'll see the log.
Compose Version
Docker Compose version v2.36.2
Docker Environment
Client: Docker Engine - Community
Version: 28.2.2
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.24.0
Path: /usr/libexec/docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.36.2
Path: /usr/libexec/docker/cli-plugins/docker-compose
Server:
Containers: 25
Running: 0
Paused: 0
Stopped: 25
Images: 73
Server Version: 28.2.2
Storage Driver: overlay2
Backing Filesystem: btrfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: systemd
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
CDI spec directories:
/etc/cdi
/var/run/cdi
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 05044ec0a9a75232cad458027ca83437aae3f4da
runc version: v1.2.5-0-g59923ef
init version: de40ad0
Security Options:
seccomp
Profile: builtin
cgroupns
Kernel Version: 6.14.9-300.fc42.x86_64
Operating System: Fedora Linux 42 (Workstation Edition)
OSType: linux
Architecture: x86_64
CPUs: 12
Total Memory: 31.26GiB
Name: nzxt-pc
ID: 243ae51b-a1fb-4b73-a42d-ef8cb1420620
Docker Root Dir: /var/lib/docker
Debug Mode: false
Experimental: false
Insecure Registries:
::1/128
127.0.0.0/8
Live Restore Enabled: false
Anything else?
I assume it's just detaching too early, causing it not to print the logs, but I don't know if this is intended behavior. To me, this seems like it should print the logs on shutdown.