将 Jenkins 容器的日志发送到系统日志



使用Jenkins TLS docker映像,如何将日志写入docker主机?我能让它工作的唯一方法是以交互方式运行容器并重定向输出,但这在很多方面似乎都很糟糕。以下是它目前的运行方式:

docker run 
--init -d 
-p 8080:8080 
-p 50000:50000 
-v /var/run/docker.sock:/var/run/docker.sock 
-v /var/jenkins_home:/var/jenkins_home 
-v /var/log/jenkins:/var/log/jenkins 
my.repo/jenkins:latest

(所以"修复"是在结尾添加">>/var/log/jenkins/jenkings.log 2>&1",这似乎是一个可怕的想法(

我试图使用syslog驱动程序,但它似乎不起作用——我打开了UDP 514,我可以使用logger向它写一条消息,但容器似乎什么都没有显示。

值得一提的是,您可以使用日志驱动程序来完成此操作。在我的情况下,我在AWS中运行,因此将以下内容添加到容器的运行命令中是有效的:

docker run -it --log-driver awslogs --log-opt awslogs-region=us-east-1 --log-opt awslogs-group=jenkins --log-opt awslogs-stream-prefix=master

只要运行容器的基础结构具有适当的IAM权限,您就应该看到CloudWatch中显示的日志。

最新更新