
本Docker镜像用于安装和运行OpenProject,包含运行所需的全部依赖组件,如sshd、memcached、MySQL服务器、rbenv、Ruby 2.1、Passenger以及最新的OpenProject开发快照。通过该镜像可快速部署OpenProject项目管理工具,适用于开发、测试或小型生产环境。
要在主机的80端口上启动一个新的OpenProject实例:
bash$ docker run -p 80:8080 -d openpf/openproject:stable
-d标志使Docker在后台启动镜像,并将容器ID输出到标准输出。启动后,可通过以下URL在主机浏览器中访问:
http://127.0.0.1:8080
OpenProject服务器运行的同时,会启动监听默认22端口的SSH守护进程。要连接到容器,需在启动时映射SSH端口:
bash$ docker run -p 8080 -p 20 -d openpf/openproject:stable
使用docker port命令查看本地端口与容器22端口的映射关系,然后通过SSH连接:
bash$ ssh -p <映射端口> openproject@localhost $ openproject@localhost's password:
注意:openproject账户的密码是在镜像构建过程中随机生成的,构建时会输出类似ssh openproject password: <随机密码>的信息,请记录该密码。
OpenProject的所有数据(数据库、上传文件、日志等)默认存储在容器内部。为确保数据在镜像更新时不丢失,建议采用"数据容器"模式,将关键目录挂载到外部:
需持久化的目录包括:
RAILS_ROOT/files:存储上传文件/var/lib/mysql:MySQL数据库文件RAILS_ROOT/log:日志文件要升级OpenProject安装,可通过SSH进入容器并执行以下步骤:
bash# 进入OpenProject目录 cd /path/to/openproject # 拉取最新代码 git pull # 安装依赖 bundle install # 数据库迁移 bundle exec rake db:migrate # 预编译静态资源 bundle exec rake assets:precompile
完成后重启容器即可运行新版本。升级前请务必备份数据。
默认情况下,镜像不发送任何邮件。需通过环境变量配置SMTP账户以启用邮件功能:
bashdocker run -d \ -p 8080:8080 -p 22:22 \ -e "EMAIL_DELIVERY_METHOD=smtp" \ -e "SMTP_ADDRESS=smtp.gmail.com" \ -e "SMTP_PORT=587" \ -e "SMTP_DOMAIN=smtp.gmail.com" \ -e "SMTP_AUTHENTICATION=plain" \ -e "SMTP_ENABLE_STARTTLS_AUTO=true" \ -e "SMTP_USER_NAME=your_email@gmail.com" \ -e "SMTP_PASSWORD=your_password" \ openpf/openproject
替换上述示例中的your_email和your_password为实际SMTP账户信息。配置后,还需在OpenProject的模块 -> 管理 -> 设置 -> 邮件通知页面进行进一步设置。
镜像已包含部分OpenProject插件,可通过修改files/Gemfile.plugins文件自定义插件列表(添加、移除插件或主题),修改后需重新构建镜像。
通过定义DATABASE_URL环境变量可使用外部数据库(支持MySQL和PostgreSQL):
bashdocker run -d \ -p 8080:8080 -p 22:22 \ -e "DATABASE_URL=mysql2://user:password@host/db_name" \ openpf/openproject
参数说明:
mysql2://user:password@host/db_namepostgres://user:password@host/db_name注意:确保外部数据库可访问,用户具有足够权限,且数据库 schema 已通过bundle exec rake db:migrate更新。
从GitHub仓库构建镜像:
bash$ docker build --rm -t openpf/openproject git://github.com/opf/openproject.git
注意:根据Docker安装配置,可能需要在docker命令前添加sudo。
欢迎通过以下方式贡献:
本作品采用GPLv3许可 - 详见COPYRIGHT.md。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务