使用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中显示的日志。