以下是我的cloud-watch-test.service系统单元文件。我需要将容器上的日志驱动程序更改为aws日志驱动程序。但是某些语法错误无法解决。
SELECT QUOTECOUNT = COUNT(*)
FROM DBO.RATING_INFO
WHERE STATE = 'Texas'
and LOB = 'PersonalAuto'
and SOURCELASTMODIFIED BETWEEN '2018-05-02 00:00:00' AND '2018-07-03 00:00:00'
and REQUESTEDBYAPPLICATION = 'MR'
and EXTERNALPOLICYSUBSOURCE = 'ezlynx'
group by FIRSTNAME
, LASTNAME
, DATEOFBIRTH
, ZIPCODE
下面是我的systemctl statu输出,
[Unit]
Description=My Docker Service
After=docker.service
Requires=docker.service
[Service]
TimeoutStartSec=0
Restart=on-failure
ExecStartPre=-/usr/bin/docker kill ravDocker
ExecStartPre=-/usr/bin/docker rm -f ravDocker
ExecStartPre=-/usr/bin/docker pull myImage:latest
ExecStartPre=-/bin/sh -c "/bin/docker rmi $(docker images --quiet --filter 'dangling=true')"
ExecStart=/usr/bin/docker run --log-driver=awslogs --log-opt awslogs-region=ap-southeast-1 --log-opt awslogs-group=test --log-opt awslogs-datetime-format='\\[%b %d, %Y %H:%M:%S\\]' --log-opt tag='{{.Name}}/{{.ID}}' --net=host --name ravDocker myImage:latest
ExecStop=/usr/bin/docker stop ravDocker
[Install]
WantedBy=multi-user.target
注意:当我直接作为docker命令运行它时,它工作正常。任何帮助表示赞赏。
答案 0 :(得分:1)
将您的%
符号加倍,以阻止systemd尝试自己解释它们。
因此,导致错误的参数可能变为:
--log-opt 'awslogs-datetime-format=\[%%b %%d, %%Y %%H:%%M:%%S\]'
答案 1 :(得分:0)
基于below answer,该解决方案有效,对我来说包含反斜杠,由于docker aws log驱动程序命令中的问题,需要添加反斜杠。可以在here中找到有关添加反斜杠的原因的更多信息。正确的命令如下所示,
--log-opt awslogs-datetime-format='\[%%b %%d, %%Y %%H:%%M:%%S\]'