我正在尝试使用Docker Compose和证书管理的Secrets部署IMAP服务器。但是一旦执行
我已经检查了安装的compose版本和所需版本的兼容性,一切看起来都正常。
我正在运行Docker引擎版本17.06.0-ce和Docker compose版本1.14.0。
这是我的compose文件内容:
这实际上是有效的,但容器中生成的文件没有应有的属性(uid:0,gid:109,mode:0640),因此我必须在容器启动期间手动更改文件的所有权和模式。有什么想法吗?
docker-compose up -d
,我就会收到以下警告:
同时cert secret也会有同样的警告。警告:服务“imap”使用带有uid、gid或模式的秘密“key”。这些字段不受Compose文件该实现支持。
我已经检查了安装的compose版本和所需版本的兼容性,一切看起来都正常。
我正在运行Docker引擎版本17.06.0-ce和Docker compose版本1.14.0。
这是我的compose文件内容:
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),因此我必须在容器启动期间手动更改文件的所有权和模式。有什么想法吗?