我正在尝试启动gliderlabs/注册器,并将其连接到COREOS_PRIVATE_IPV4 ip地址上的领事。
[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。有没有人知道为什么这可能会失败?
发布于 2015-12-22 08:11:20
提供的单位与错误返回的单位不匹配。这个错误实质上是说,EnvironmentFile=
选项位于systemd- [Unit]
的[Unit]
部分,并且该选项在该部分中无效。
要么你在这个单元中实际拥有的东西与你在这里放的不一样,要么就是当它解析和渲染这个单元时,它可能把它搞乱了。
如果您查看/run/fleet/units/registrator.service
中的文件,您应该能够验证EnvironmentFile
选项在哪里。确保它位于[Service]
部分,而不是[Unit]
部分。
您也可以运行fleetctl cat registrator.service
,车队将输出机组文件定义。有可能你提交了单位,进行了更改,然后在重新提交之前没有销毁单位。
https://stackoverflow.com/questions/34254262
复制相似问题