如何从 Docker 容器中 运行 Caddy? (443 绑定:权限被拒绝)

How to run Caddy from Docker container? (443 bind: permission denied)

如您所想,我刚开始使用 Docker 和 Caddy,但我无法 运行 它,因为我收到以下错误:

Could not start HTTPS server for challenge -> listen tcp :443: bind: permission denied

这里是docker-compose.yml:

webserver:
    image: jumanjiman/caddy
    depends_on:
      - parse-dashboard
      - loovus
    ports:
      - "80:8000"
      - "443:443"
    links:
      - parse-dashboard
      - parse-server
    volumes:
      - ./production:/prod/
      - ./dist/:/angular/
    command: -port 8000 -host 0.0.0.0 -conf /prod/Caddyfile

这是 Caddyfile:

qa.loovus.mx:8000

tls contacto@loovus.mx

gzip {
ext .js .css
}

root /angular

proxy /parse parse-server:1337

rewrite / {
if {path} not_match /parse
to {path} /index.html
}

如果您能给我任何提示,我将不胜感激。

提前致谢!

纠结了这么久,总算是找到了正确的配置。这是我所做的:

  • 使用abiosoft/caddy
  • 保留默认端口(80 和 443)
  • 修改 docker-compose 文件以使用此命令:

command: -conf /prod/Caddyfile

因为显然我使用前面的命令覆盖了 Caddyfile 配置:

command: -port 8000 -host 0.0.0.0 -conf /prod/Caddyfile

使用这些修改,我能够在我的网站上 运行 HTTPS。

谢谢