我正在尝试启动gliderlabs / registrator并让它连接到COREOS_PRIVATE_IPV4 ip地址上的consul。
[Unit]
Description=registrator
After=consul-server@%i.service
Requires=consul-server@%i.service
[Service]
EnvironmentFile=/etc/environment
ExecStartPre=-/usr/bin/docker kill registrator
ExecStartPre=-/usr/bin/docker rm registrator
ExecStartPre=/usr/bin/docker pull gliderlabs/registrator
ExecStart=/usr/bin/docker run --volume=/var/run/docker.sock:/var/run/docker.sock --net=host --hostname ${HOSTNAME} --name=registrator gliderlabs/registrator:latest consul://${COREOS_PRIVATE_IPV4}:8500
ExecStop=/usr/bin/docker stop registrator
[X-Fleet]
#Global=true
我在启动抱怨EnvironmentFile指令的服务时遇到错误。
Dec 13 16:23:41 core-01 systemd[1]: [/run/fleet/units/registrator.service:5] Unknown lvalue 'EnvironmentFile' in section 'Unit
“
我目前正在运行coreos 835.9.0。有没有人想过为什么会失败?
答案 0 :(得分:0)
提供的单位与错误返回的内容不符。该错误实质上是说EnvironmentFile=
选项位于systemd-unit的[Unit]
部分,并且该选项在该部分内无效。
你在单位中实际拥有的东西与你放在这里的东西不同,或者当它被解析并渲染出单位时,它可能的舰队搞砸了。
如果查看/run/fleet/units/registrator.service
中的文件,您应该能够验证EnvironmentFile
选项的位置。请确保它位于[Service]
部分,而不是[Unit]
部分。
您也可以运行fleetctl cat registrator.service
,并且fleet将输出单位文件定义。您可以提交设备,进行更改,然后在重新提交之前不要销毁设备。