【问题标题】:CoreOS EnvironmentFile directive failingCoreOS EnvironmentFile 指令失败
【发布时间】:2016-03-19 04:19:04
【问题描述】:

我正在尝试启动 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。有人对为什么这可能会失败有任何想法吗?

【问题讨论】:

    标签: vagrant systemd coreos


    【解决方案1】:

    提供的单位与返回的错误不匹配。该错误本质上是说 EnvironmentFile=option 在 systemd-unit 的 [Unit] 部分中,并且该选项在该部分中无效。

    您在单元中实际拥有的内容与您在此处放置的内容不同,或者舰队在解析和渲染单元时可能会搞砸。

    如果您查看/run/fleet/units/registrator.service 中的文件,您应该能够验证EnvironmentFile 选项的位置。确保它位于 [Service] 部分而不是 [Unit] 部分。

    您也可以运行fleetctl cat registrator.service,fleet 将输出单元文件定义。有可能您提交了单元,进行了更改,然后在重新提交之前没有销毁单元。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-19
      • 1970-01-01
      • 2023-01-31
      • 1970-01-01
      • 2020-02-14
      • 2017-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多