Trong docker, thông thường sẽ rất ít khi vào các container để check log. Vì vậy, log thường được redirect tới stdout hoặc stderr.
Nhưng hiện tại, docker có một bug, một non-root user không thể ghi log vào stdout hoặc stderr.
https://github.com/moby/moby/issues/6880#issuecomment-220637337
Giải pháp:
- Tạo một named pipe, set owner.
- Chuyển hướng tất cả những gì được ghi vào named pipe đã tạo tới stdout (hoặc stderr)
Nhưng hiện tại, docker có một bug, một non-root user không thể ghi log vào stdout hoặc stderr.
https://github.com/moby/moby/issues/6880#issuecomment-220637337
Giải pháp:
- Tạo một named pipe, set owner.
mkfifo -m 600 /tmp/logpipechown user:user /tmp/logpipe
- Chuyển hướng tất cả những gì được ghi vào named pipe đã tạo tới stdout (hoặc stderr)
cat <> /tmp/logpipe 2>&1 & (*)Trong trường hợp (*) này, tất cả log sẽ được redirect sang stdout. Nếu muốn log được redirect sang stderr, dùng:
cat <> /tmp/logpipe 1>&2 &