您好我正在查看上面的示例并尝试运行docker swarm堆栈,但得到以下错误。不知道我在这里缺少什么。
搬运工-compose.yml
services:
nginx:
image: nginx
hostname: '{{.Node.Hostname}}'
version: '3.3'
docker stack deploy test -c docker-compose.yml
但是低于输出/错误:来自守护进程的错误响应:rpc 错误:code = InvalidArgument desc =扩展主机名失败: template:expansion:1:7:在< .Node.Hostname>处执行“扩展”: 无法在struct {ID string}
类型中评估字段主机名
这是我的docker-info输出:
docker info容器:
12正在运行:0已暂停:0已停止: 12图片:41 服务器版本:18.03.1-ce 存储驱动程序:devicemapper 游泳池名称:docker-253:1-2490377-pool Pool 模块化:65.54kB基础 设备大小:10.74GB支持文件系统:
提前致谢。
答案 0 :(得分:0)
我尝试了1223
和version: '3.3'
组成的设置。
根据https://docs.docker.com/engine/reference/commandline/service_create/#create-services-using-templates主机名是可以在其上使用模板字符串的字段之一,因此应该可以正常工作。
创建堆栈后,我用
验证了主机名version: '3.4'
所以我认为这已在较新版本的Docker中修复,或者您的主机设置有些奇怪。