O driver do Docker JournalD captura o stdout e o stderr do processo do contêiner.
Por outro lado, o comando logger envia um messase para /dev/log
.
Editar
Seria bom fazer logger -s
OpenSuse Tumbleweed + Docker 17.04. Eu criei o /etc/docker/daemon.json com:
{
"log-driver": "journald",
"log-opts": {
"labels": "my_test",
"env": "os,customer"
}
}
Então eu iniciei o daemon do docker: systemctl start docker
. Verifiquei: sudo docker info|grep Logg
e veja journald
como o driver padrão atual. Também sudo docker inspect -f '{{.HostConfig.LogConfig.Type}}' MY-CONTAINER-ID
me mostra journald
novamente. Docker foi executado como
sudo docker run -ti -v /sys/fs/cgroup:/sys/fs/cgroup --tmpfs /run/dbus --tmpfs /run/lock --cap-add=ALL MY-CONTAINER
e, em seguida, eu SH-ed para ele. No Docker, fiz várias mensagens de log com:
logger XXX
logger -p local0.notice XXX
# etc...
Eu vejo essas mensagens no Docker journald com journalctl -n ...
.
E eu supus que eu encontraria essas mensagens de log no container ("host OS") também: com journalctl -n ...
- nothing. Com docker logs MY-CONTAINER-ID
- nada também. Eu quero registrar mensagens do Docker para container ("host") journald. A configuração parece certa, mas as mensagens de log estão faltando. Alguém me ajudaria - o que há de errado com o Docker no OpenSuse / com minha configuração?
O driver do Docker JournalD captura o stdout e o stderr do processo do contêiner.
Por outro lado, o comando logger envia um messase para /dev/log
.
Editar
Seria bom fazer logger -s