以下は私の docker-stack ファイルです。
version: "3"
services:
my-app:
image: my-image:latest
volumes:
- ./certs:/certs
ports:
- 6401:6401
networks:
my-net:
ipv4_address: 192.168.0.4
networks:
my-net:
external: true
私のマシンでは問題なく動作し、証明書フォルダーをコンテナー内の証明書にバインドします。ただし、このサービスを docker-stack-node イメージ内にデプロイしている CI パイプラインでは機能しません。私が得るエラーは
タイプ「バインド」の無効なマウント構成: バインド マウント ソース パスが存在しません。
ホスト パスをサービスのコンテナーにバインド マウントする場合、パスはすべての swarm ノードに存在する必要があることを読みました。したがって、名前付きボリュームを作成する必要があると思います。ただし、名前付きボリュームでは、証明書のソース パスを指定できません。ややこしい。誰かがこれを手伝ってくれますか?