用于构建Redmine项目管理工具容器镜像的Dockerfile。Redmine是一个开源的项目管理和缺陷跟踪工具,支持多项目管理、问题跟踪、文档管理、版本控制集成等功能。
当前版本:sameersbn/redmine:4.2.1-1
注意:如果您的安装依赖于各种第三方插件,请坚持使用2.6.xx系列以避免兼容性问题。
如果您发现此镜像有用,您可以通过以下方式提供帮助:
Docker是一个相对较新的项目,由活跃的开发者和测试者社区进行开发和测试,每个Docker版本都包含许多增强和错误修复。因此,确保您安装了最新版本的Docker非常重要,因为您遇到的问题可能已在新版本中修复。
使用***Docker发行版安装适用于您平台的最新版本Docker引擎,也可通过以下命令安装:
bashwget -qO- [***] | sh
Fedora和RHEL/CentOS用户应尝试使用setenforce 0禁用selinux并检查是否解决问题。如果解决,则可能无法提供更多帮助,您可以选择保持selinux禁用(不推荐)或切换到Ubuntu系统。
如果使用最新Docker版本和/或禁用selinux仍无法解决问题,请在issues页面提交问题报告。报告中请务必提供以下信息:
docker version命令的输出docker info命令的输出docker run命令(隐藏敏感信息)镜像的自动构建可在Dockerhub获取,这是推荐的安装方式。
注意:构建版本也可在Quay.io获取
bashdocker pull sameersbn/redmine:latest
从版本2.4.2开始,镜像构建已添加标签。您可以通过指定版本号拉取特定版本的Redmine,例如:
bashdocker pull sameersbn/redmine:4.2.1-1
或者,您也可以手动构建镜像:
bashdocker build -t sameersbn/redmine github.com/sameersbn/docker-redmine
最快的启动方式是使用docker-compose:
bashwget [***] docker-compose up
或者,您可以按照以下两步指南手动启动redmine容器和支持的postgresql容器:
步骤1:启动postgresql容器
bashdocker run --name=postgresql-redmine -d \ --env='DB_NAME=redmine_production' \ --env='DB_USER=redmine' --env='DB_PASS=password' \ --volume=/srv/docker/redmine/postgresql:/var/lib/postgresql \ sameersbn/postgresql:9.6-4
步骤2:启动redmine容器
bashdocker run --name=redmine -d \ --link=postgresql-redmine:postgresql --publish=***:80 \ --env='REDMINE_PORT=***' \ --volume=/srv/docker/redmine/redmine:/home/redmine/data \ --volume=/srv/docker/redmine/redmine-logs:/var/log/redmine/ \ sameersbn/redmine:4.2.1-1
注意:请允许一两分钟时间让Redmine应用启动。
在浏览器中访问http://localhost:***,使用默认用户名和密码登录:
创建任何项目前,请确保访问"管理"链接并"加载默认配置"。
现在您已启动Redmine应用并可进行测试。如果要在生产环境中使用,请继续阅读下文。
本文档其余部分将使用docker命令行。您也可以将配置调整为
docker-compose.yml文件。
文件存储需要在以下位置挂载卷:
/home/redmine/data:存储Redmine数据/var/log/redmine:存储服务器日志注意
现有用户需要将现有文件目录移动到
/srv/docker/redmine/redmine/内。bashmkdir -p /srv/docker/redmine/redmine mv /opt/redmine/files /srv/docker/redmine/redmine
SELinux用户还需要更改挂载点的安全上下文,以确保与selinux兼容:
bashmkdir -p /srv/docker/redmine/redmine sudo chcon -Rt svirt_sandbox_file_t /srv/docker/redmine/redmine
可以通过在docker run命令中指定-v选项来挂载卷:
bashdocker run --name=redmine -it --rm \ --volume=/srv/docker/redmine/redmine:/home/redmine/data \ --volume=/srv/docker/redmine/redmine-logs:/var/log/redmine/ \ sameersbn/redmine:4.2.1-1
Redmine使用数据库后端存储数据。
镜像中已移除内部MySQL服务器。请改用链接的mysql或postgresql容器,或连接外部mysql或postgresql服务器。
如果您一直在使用内部MySQL服务器,请按照以下说明迁移到链接的MySQL容器:
假设您的MySQL数据位于/srv/docker/redmine/mysql
bashdocker run --name=mysql-redmine -d \ --volume=/srv/docker/redmine/mysql:/var/lib/mysql \ sameersbn/mysql:5.7.22-1
这将启动一个包含您现有MySQL数据的MySQL容器。现在登录MySQL容器,为现有redmine_production数据库创建用户。
接下来,只需使用--link=mysql-redmine:mysql选项将此MySQL容器链接到Redmine容器,并提供DB_NAME、DB_USER和DB_PASS参数。
有关更多信息,请参考链接MySQL容器。
镜像可配置为使用外部MySQL数据库,而非内部启动MySQL服务器。启动Redmine镜像时,应使用环境变量指定数据库配置。
启动Redmine镜像前,请创建Redmine用户和数据库:
sqlmysql -uroot -p CREATE USER 'redmine'@'%.%.%.%' IDENTIFIED BY 'password'; CREATE DATABASE IF NOT EXISTS `redmine_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`; GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `redmine_production`.* TO 'redmine'@'%.%.%.%';
现在可以启动Redmine应用:
bashdocker run --name=redmine -it --rm \ --env='DB_ADAPTER=mysql2' \ --env='DB_HOST=192.168.1.100' --env='DB_NAME=redmine_production' \ --env='DB_USER=redmine' --env='DB_PASS=password' \ --volume=/srv/docker/redmine/redmine:/home/redmine/data \ --volume=/srv/docker/redmine/redmine-logs:/var/log/redmine/ \ sameersbn/redmine:4.2.1-1
这将初始化Redmine数据库,几分钟后您的Redmine实例将准备就绪。
可以将此镜像与MySQL容器链接以满足数据库需求。链接Redmine镜像时,MySQL服务器容器的别名应设置为mysql。
如果链接了MySQL容器,仅DB_ADAPTER、DB_HOST和DB_PORT设置会通过链接自动获取。您可能仍需要设置其他数据库连接参数,如DB_NAME、DB_USER和DB_PASS等。
为说明与MySQL容器的链接,我们将使用sameersbn/mysql镜像。在生产环境中使用docker-mysql时,应挂载卷用于MySQL数据存储。有关详细信息,请参考docker-mysql的README。
首先,从docker索引拉取MySQL镜像:
bashdocker pull sameersbn/mysql:5.7.22-1
为实现数据持久化,创建MySQL存储目录并启动容器。SELinux用户还需要更改挂载点的安全上下文:
bashmkdir -p /srv/docker/redmine/mysql sudo chcon -Rt svirt_sandbox_file_t /srv/docker/redmine/mysql
运行命令如下:
bashdocker run --name=mysql-redmine -d \ --env='DB_NAME=redmine_production' \ --env='DB_USER=redmine' --env='DB_PASS=password' \ --volume=/srv/docker/redmine/mysql:/var/lib/mysql \ sameersbn/mysql:5.7.22-1
上述命令将创建一个名为redmine_production的数据库,并创建一个名为redmine、密码为password的用户,该用户对redmine_production数据库具有完全远程访问权限。
现在可以启动Redmine应用:
bashdocker run --name=redmine -it --rm --link=mysql-redmine:mysql \ --volume=/srv/docker/redmine/redmine:/home/redmine/data \ --volume=/srv/docker/redmine/redmine-logs:/var/log/redmine/ \ sameersbn/redmine:4.2.1-1
此处,镜像将通过docker链接自动从MySQL容器获取DB_NAME、DB_USER和DB_PASS变量,这适用于以下镜像:
镜像也支持使用外部PostgreSQL服务器,同样通过环境变量控制:
sqlCREATE ROLE redmine with LOGIN CREATEDB PASSWORD 'password'; CREATE DATABASE redmine_production; GRANT ALL PRIVILEGES ON DATABASE redmine_production to redmine;
现在可以启动Redmine应用:
bashdocker run --name=redmine -it --rm \ --env='DB_ADAPTER=postgresql' \ --env='DB_HOST=192.168.1.100' --env='DB_NAME=redmine_production' \ --env='DB_USER=redmine' --env='DB_PASS=password' \ --volume=/srv/docker/redmine/redmine:/home/redmine/data \ --volume=/srv/docker/redmine/redmine-logs:/var/log/redmine/ \ sameersbn/redmine:4.2.1-1
这将初始化Redmine数据库,几分钟后您的Redmine实例将准备就绪。
可以将此镜像与PostgreSQL容器链接以满足数据库需求。链接Redmine镜像时,PostgreSQL服务器容器的别名应设置为postgresql。
如果链接了PostgreSQL容器,仅DB_ADAPTER、DB_HOST和DB_PORT设置会通过链接自动获取。您可能仍需要设置其他数据库连接参数,如DB_NAME、DB_USER和DB_PASS等。
为说明与PostgreSQL容器的链接,我们将使用sameersbn/postgresql镜像。在生产环境中使用postgresql镜像时,应挂载卷用于PostgreSQL数据存储。有关详细信息,请参考docker-postgresql的README。
首先,从docker索引拉取PostgreSQL镜像:
bashdocker pull sameersbn/postgresql:9.6-4
为实现数据持久化,创建PostgreSQL存储目录并启动容器。SELinux用户还需要更改挂载点的安全上下文:
bashmkdir -p /srv/docker/redmine/postgresql sudo chcon -Rt svirt_sandbox_file_t /srv/docker/redmine/postgresql
运行命令如下:
bashdocker run --name=postgresql-redmine -d \ --env='DB_NAME=redmine_production' \ --env='DB_USER=redmine' --env='DB_PASS=password' \ --volume=/srv/docker/redmine/postgresql:/var/lib/postgresql \ sameersbn/postgresql:9.6-4
上述命令将创建一个名为redmine_production的数据库,并创建一个名为redmine、密码为password的用户,该用户对redmine_production数据库具有访问权限。
现在可以启动Redmine应用:
bashdocker run --name=redmine -it --rm --link=postgresql-redmine:postgresql \ --volume=/srv/docker/redmine/redmine:/home/redmine/data \ --volume=/srv/docker/redmine/redmine-logs:/var/log/redmine/ \ sameersbn/redmine:4.2.1-1
此处,镜像将通过docker链接自动从PostgreSQL容器获取DB_NAME、DB_USER和DB_PASS变量,这适用于以下镜像:
此镜像可(可选)配置为使用Memcached服务器来加速Redmine,当用户数量较多时特别有用。
镜像可配置为使用外部Memcached服务器,通过环境变量MEMCACHE_HOST和MEMCACHE_PORT指定Memcached服务器主机和端口:
假设Memcached服务器主机为192.168.1.100
bashdocker run --name=redmine -it --rm

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429