docker创建service时动态获取服务名 模版占位符

docker 模板占位符{{xxx}}:

官方文档:https://docs.docker.com/engine/reference/commandline/service_create/#create-services-using-templates 

docker service create --name test --env SERVICE_NAME={{.Service.Name}} --mount type=bind,src=/data/{{.Service.Name}}_ecmaster,dst=/data/ecmaster

在Docker中,有几个可以在Compose文件和Swarm服务定义中使用的特殊模板参数。这些参数使用{{}}进行包裹,可以在定义中动态地引用不同的值。以下是一些常用的模板参数:

{{.Service.Name}}:当前服务的名称。

{{.Task.Name}}:当前任务(容器)的名称。

{{.Node.Hostname}}:当前节点(主机)的主机名。

{{.Node.ID}}:当前节点(主机)的ID。

{{.Node.IP}}:当前节点(主机)的IP地址。

{{.Task.Slot}}:在全局服务中表示任务索引,用于它在集群中的位置。

{{.Task.PID}}:当前任务(容器)的进程ID。

{{.Task.Status}}:当前任务(容器)的状态(running、completed等)。

{{.Task.DesiredState}}:服务期望的任务(容器)状态。

这些模板参数可以用于Compose文件中的环境变量、标签、网络别名等,也可以用于Swarm服务定义中的环境变量和标签中。使用这些模板参数,您可以动态地根据需要设置容器的属性,并在运行时进行替换。

你可能感兴趣的:(docker,容器,运维,linux)