証明書管理のために Docker Compose と Secrets を使用して IMAP サーバーを展開しようとしています。しかし、やるとすぐにdocker-compose up -d
、次のようになります。
警告: サービス「imap」は、uid、gid、またはモードで秘密の「鍵」を使用します。これらのフィールドは、Compose ファイルのこの実装ではサポートされていません
この警告は、証明書シークレットについても繰り返されます。
インストールされている構成バージョンと必要なバージョンの間の互換性を既に確認しましたが、すべて問題ないようです。
Docker エンジン バージョン17.06.0-ceと Docker Compose バージョン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、モード: 0640) がないため、コンテナーの起動時にファイルの所有権とモードを手動で変更する必要があります。 .
それについて考えたことはありますか?