OpenProject Docker镜像是一个预配置的容器化解决方案,用于快速部署OpenProject项目管理平台。该镜像内置了运行OpenProject所需的全部依赖组件,包括SSHD、Memcached、MySQL服务器、rbenv、Ruby 2.1、Passenger以及OpenProject开发快照,无需手动配置复杂的运行环境,可直接启动使用。
使用场景和适用范围
要在主机的80端口启动OpenProject实例:
bashdocker run -p 80:8080 -d openpf/openproject:stable
参数说明:
-d:后台运行容器并输出容器ID-p 80:808:将容器的8080端口映射到主机的80端口启动后,通过以下URL访问OpenProject:
http://127.0.0.1:8080
容器同时运行SSH服务(默认端口22),需映射SSH端口以连接:
bashdocker run -p 8080 -p 20 -d openpf/openproject:stable
docker port命令查看本地映射端口:bashdocker port <容器ID> 22
bashssh -p <映射端口> openproject@localhost
注意:openproject用户的密码在镜像构建过程中随机生成,构建时会显示类似ssh openproject password: <随机密码>的信息。
OpenProject的数据(数据库、上传文件等)默认存储在容器内部,建议采用"数据容器"模式实现持久化:
需持久化的关键路径:
RAILS_ROOT/files:上传文件存储目录/var/lib/mysql:MySQL数据库目录RAILS_ROOT/log:日志文件目录实现方法参考数据容器模式,通过创建专用数据容器并挂载到应用容器。
通过SSH连接容器后执行以下命令更新代码:
bash# 进入OpenProject目录 cd <OpenProject安装目录> # 拉取最新代码 git pull # 安装依赖 bundle install # 数据库迁移 bundle exec rake db:migrate # 预编译静态资源 bundle exec rake assets:precompile
更新完成后重启容器使更改生效。更新前请务必备份数据。
默认配置不发送邮件,需通过环境变量配置SMTP服务:
bashdocker run -d \ -p 8080:8080 -p <本地端口>: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
配置后需在OpenProject界面中进一步设置:模块 -> 管理 -> 设置 -> 邮件通知。
镜像已包含部分插件,可通过修改files/Gemfile.plugins文件自定义插件列表(需在构建镜像前修改)。
通过DATABASE_URL环境变量配置外部数据库(支持MySQL和PostgreSQL):
bashdocker run -d \ -p 8080:8080 -p <本地端口>: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同步。
从源码构建镜像:
bashdocker build --rm -t openpf/openproject git://github.com/opf/openproject.git
注意:部分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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务