2017-05-31 629 views
0

正如你所說,我剛剛開始與Docker和Caddy合作,但由於出現以下錯誤,我無法運行它:如何從Docker容器運行Caddy? (443綁定:權限被拒絕)

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

這裏是泊塢窗,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 [email protected] 

gzip { 
ext .js .css 
} 

root /angular 

proxy /parse parse-server:1337 

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

如果你可以給我一個呃提示,我真的很感激它。

預先感謝您!

+0

你能縮小這個問題嗎?如何在Docker Compose之外使用'docker run -it -v ./production:/prod jumanjiman/caddy -port 8000 -host 0.0.0.0 -conf/prod/Caddyfile'運行?你還可以發佈'Caddyfile'嗎?這裏沒有足夠的信息來重現(圖像在本地運行良好)。 –

+0

嗨@AndyShinn我用我的Caddyfile的信息更新了我的問題。我也嘗試運行你發送的命令,但是我收到以下消息: ':create ./production:「./production」包含本地卷名稱的無效字符,只有「[a-zA-Z0- 9] [a-zA-Z0-9 _.-]「是允許的。如果你打算通過一個主機目錄,使用絕對路徑。' 我也試過這種方式: 'docker run -it -v production:/prod jumanjiman/caddy -port 8000 -host 0.0.0.0 -conf production/Caddyfile' 'loading Caddyfile via flag:open production/Caddyfile:no such file or directory' 謝謝 – Neoluis10

+0

啊,它需要是完整的路徑。你可以使用'-v $ PWD/production:/ prod'來代替。 –

回答

0

經過這麼長時間的努力,我得到了正確的配置。下面是我做的:

  • 使用abiosoft/caddy
  • 左的默認端口(80和443)
  • 修改泊塢窗,撰寫文件來使用這個命令:

command: -conf /prod/Caddyfile

因爲顯然我使用前面的命令覆蓋了Caddyfile配置:

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

使用這些修改,我能夠在我的網站上運行HTTPS。

謝謝