如何将命令行参数传递给 Service Fabric 中的 docker Grafana 容器
How to pass command line arguments to docker Grafana container in Service Fabric
我正在尝试 运行 grafana 作为我的服务结构集群中的容器。如果我在没有命令行参数的情况下进行部署,容器是健康的,但是当我尝试如下所示在服务清单中传递命令行参数时,它会失败。
<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest Name="Grafana.Pkg"
Version="1.0.0"
xmlns="http://schemas.microsoft.com/2011/01/fabric"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ServiceTypes>
<StatelessServiceType ServiceTypeName="Grafana.Type" UseImplicitHost="true" />
</ServiceTypes>
<!-- Code package is your service executable. -->
<CodePackage Name="Code" Version="1.0.0">
<EntryPoint>
<ContainerHost>
<ImageName>myregistry.azurecr.io/grafana:6.3.2</ImageName>
<Commands>-e "GF_SERVER_ROOT_URL=https://serverurl.com/grafana"</Commands>
</ContainerHost>
</EntryPoint>
</CodePackage>
<ConfigPackage Name="Config" Version="1.0.0" />
<Resources>
<Endpoints>
<Endpoint Name="Grafana.TypeEndpoint" UriScheme="http" Protocol="http" Port="3000" />
</Endpoints>
</Resources>
</ServiceManifest>
运行ning grafana的实际docker命令如下所示
特别是我需要通过
-e "GF_SERVER_ROOT_URL=http://grafana.server.name"
和
-e "GF_SECURITY_ADMIN_PASSWORD=secret"
在 ServiceFabric 清单中传递命令行参数的推荐方法是什么?另外有没有办法把需要传入的双引号转义?
-e
参数用于 docker CLI, are environment variables to be set in the container. You can specify them in the manifest。
<CodePackage Name="Code" Version="1.0.0">
...
<EnvironmentVariables>
<EnvironmentVariable Name="GF_SERVER_ROOT_URL" Value="https://serverurl.com/grafana"/>
</EnvironmentVariables>
</CodePackage>
我正在尝试 运行 grafana 作为我的服务结构集群中的容器。如果我在没有命令行参数的情况下进行部署,容器是健康的,但是当我尝试如下所示在服务清单中传递命令行参数时,它会失败。
<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest Name="Grafana.Pkg"
Version="1.0.0"
xmlns="http://schemas.microsoft.com/2011/01/fabric"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ServiceTypes>
<StatelessServiceType ServiceTypeName="Grafana.Type" UseImplicitHost="true" />
</ServiceTypes>
<!-- Code package is your service executable. -->
<CodePackage Name="Code" Version="1.0.0">
<EntryPoint>
<ContainerHost>
<ImageName>myregistry.azurecr.io/grafana:6.3.2</ImageName>
<Commands>-e "GF_SERVER_ROOT_URL=https://serverurl.com/grafana"</Commands>
</ContainerHost>
</EntryPoint>
</CodePackage>
<ConfigPackage Name="Config" Version="1.0.0" />
<Resources>
<Endpoints>
<Endpoint Name="Grafana.TypeEndpoint" UriScheme="http" Protocol="http" Port="3000" />
</Endpoints>
</Resources>
</ServiceManifest>
运行ning grafana的实际docker命令如下所示
特别是我需要通过
-e "GF_SERVER_ROOT_URL=http://grafana.server.name"
和
-e "GF_SECURITY_ADMIN_PASSWORD=secret"
在 ServiceFabric 清单中传递命令行参数的推荐方法是什么?另外有没有办法把需要传入的双引号转义?
-e
参数用于 docker CLI, are environment variables to be set in the container. You can specify them in the manifest。
<CodePackage Name="Code" Version="1.0.0">
...
<EnvironmentVariables>
<EnvironmentVariable Name="GF_SERVER_ROOT_URL" Value="https://serverurl.com/grafana"/>
</EnvironmentVariables>
</CodePackage>