首页 > 解决方案 > acme.json 的 traefik 权限 777 太开放,请使用 600

问题描述

是的,当我尝试使用 https 运行 traefik 时,我得到了这个。问题是我将目录安装在我的 Win7 机器上,但我无法 chmod 文件。

挂载正在工作,但文件权限已关闭。

看起来像这样:

volumes
  - d:/docker/traefikcompose/acme/acme.json:/etc/traefik/acme/acme.json:rw

交易 | time="2018-09-04T12:57:11Z" level=error msg="Error starting provider *acme.Provider: 无法获取 ACME 帐户:/etc/traefik/acme/acme.json 的权限 777 太开放,请使用 600"

如果我删除 acme.json 文件,我会得到:

错误:对于traefik无法启动服务traefik:b'OCI运行时创建失败:container_linux.go:348:启动容器进程导致“process_linux.go:402:容器初始化导致\“rootfs_linux.go:58:安装\\\”/ d/docker/traefikcompose/acme/acme.json\\" 到 rootfs \\"/mnt/sda1/var/lib/docker/aufs/mnt/c84d8644252848bde8f0322bafba3d206513ceb8479eb95aeee0b4cafd4a7251\\" 在\\"/mnt/sda1 /var/lib/docker/aufs/mnt/c84d8644252848bde8f0322bafba3d206513ceb8479eb95aeee0b4cafd4a7251/etc/traefik/acme/acme.json\\\"导致\\\"不是目录\\\"\"":未知:您是否尝试挂载将目录复制到文件中(反之亦然)?检查指定的主机路径是否存在并且是预期的类型'

标签: dockerwindows-7lets-encrypttraefik

解决方案


感谢 Cooshals 的帮助,我终于找到了解决方案,

我们必须通过 ssh 进入 virtualbox-machine 并在那里创建文件,然后直接从 docker-compose.yml 中指出它,在这种情况下,我是这样做的:

docker-machine ssh default
touch /var/acme.json
chmod 600 /var/acme.json

然后在我的 docker-compose 中:

volumes:
 - /var/:/var/acme.json

最后在 traefik.toml 中:

[acme]
  storage = "acme.json"

推荐阅读