
sameersbn/redmine用于构建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服务器。请改用链接的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数据库,而非内部启动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容器
可以将此镜像与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服务器
镜像也支持使用外部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容器
可以将此镜像与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


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务