我正在尝试生成 letsencrypt 通配符证书以用于各种网站(一个 FQDN,多个子域)。计划将这些证书保存在 NFS 共享上,以便我可以轻松地在各种 Web 服务器上访问它们。
但是,当我安装我的 NFS 共享/etc/letsencrypt
以便将证书保存到那里时,我收到一个错误:
letsencrypt | IOError:[Errno 37] 没有可用的锁
我将共享上的文件夹模式设置为 777,因此它应该具有写访问权限。
我的docker-compose.yml
文件:
version: '3.5'
services:
letsencrypt:
image: linuxserver/letsencrypt
restart: unless-stopped
network_mode: host
cap_add:
- NET_ADMIN
environment:
- OTHERSTUFF=blahblah
- STAGING=true
volumes:
- ./config/letsencrypt:/config/dns-conf
- Certs:/config/etc/letsencrypt
volumes:
Certs:
name: certs
driver: local
driver_opts:
type: nfs
o: addr=10.0.1.14,rw
device: ":/media/NAS/Certs"
答案1
您可以
- 使用另一个不会尝试锁定文件的客户端。在 letsencrypt 网站上,列出了大量客户端。
- 使用您的客户端将证书下载到本地文件系统,然后将证书复制到 NFS 共享。
- 尝试使用 NFS 挂载选项
lock
(尽管默认情况下它应该处于启用状态),或者local_lock=all