指定端口启动OpenProject Docker失败:仍监听8080且访问报错
OpenProject Docker容器端口配置问题解决
问题1:容器内应用仍监听8080
你的启动命令存在两个核心问题:
- 端口映射错误:你使用
-p 8996:80,但OpenProject All-in-One容器内部的Puma服务默认监听8080端口,而非80,导致宿主机端口无法正确转发到实际服务端口。 - 环境变量配置错误:
-e PORT:8996格式错误(应使用=而非:),且OpenProject控制Puma监听端口的正确环境变量是OPENPROJECT_PUMA__PORT,不是PORT或OPENPROJECT_PORT。
问题2:远程访问出现"Invalid host_name configuration"错误
你设置的OPENPROJECT_HOST__NAME=localhost:8996仅适用于本地访问场景,远程访问时你使用的是服务器公网IP/域名,与配置中的localhost不匹配,触发OpenProject的主机名有效性校验失败。
修正后的启动命令
docker run -it -p 8996:8080 \ -e OPENPROJECT_SECRET_KEY_BASE=secret \ -e OPENPROJECT_HOST__NAME=你的服务器IP或域名:8996 \ -e OPENPROJECT_PUMA__PORT=8080 \ -e OPENPROJECT_HTTPS=false \ -e OPENPROJECT_DEFAULT__LANGUAGE=en \ openproject/openproject:14
关键参数说明:
-p 8996:8080:将宿主机8996端口映射到容器内部Puma服务监听的8080端口OPENPROJECT_HOST__NAME:设置为远程访问时实际使用的地址(例如123.45.67.89:8996或your-project-domain.com:8996)OPENPROJECT_PUMA__PORT=8080:指定容器内Puma服务的监听端口(保持默认8080即可,端口转发已通过-p参数完成)
内容的提问来源于stack exchange,提问作者Corentin Salomon
相关产品推荐
相关产品推荐

