Docker机密和Compose兼容性问题

我试图部署一个使用Docker Compose和Secrets进行证书pipe理的IMAP服务器。 但是,一旦docker-compose up -d ,我就会得到:

警告:服务“imap”使用uid,gid或模式的秘密“钥匙”。 Compose文件的这个实现不支持这些字段

对于证书秘密也重复此警告。

我已经检查了已安装的撰写版本和所需的版本之间的兼容性,一切似乎确定。

我在Docker引擎版本17.06.0-ce上运行 ,Docker组成版本1.14.0


这是我的撰写文件:

 version: '3.1' services: imap: image: cyrus hostname: cyrus volumes: - my_volume_1 - my_volume_2 - my_volume_3 - my_volume_4 secrets: - source: key target: my.key uid: '0' gid: '109' mode: 0640 - source: cert target: my.crt uid: '0' gid: '109' mode: 0640 ports: - 110:110 - 143:143 - 993:993 - 995:995 - 4190:4190 restart: always networks: - mail logger: image: gliderlabs/logspout hostname: logspout volumes: - /var/run/docker.sock:/var/run/docker.sock networks: - mail command: syslog://log-server-ip:514 networks: mail: driver: bridge secrets: key: file: ./my.key cert: file: ./my.crt 

这实际上工作,但容器中生成的文件没有他们应该有的属性(uid:0,gid:109,mode:0640),所以我必须在容器启动期间手动更改文件的所有权和模式。

有没有想过呢?