翻译:Docker方式安装redmine

原文见: https://docs.docker.com/samples/library/redmine/
简单翻译整理。

文章目录

  • 1. 用SQLite3运行Redmine
  • 2. 使用数据库容器运行Redmine
    • 2.1. 启动数据库容器
    • 2.2. 启动redmine
  • 3. 通过docker stack deploy或docker-compose方式运行
  • 4. 访问应用程序
    • 4.1. 存储数据的位置
    • 4.2. 端口映射
    • 4.3. 环境变量
    • 4.3. Docker的秘密
    • 4.4. 镜像变体

1. 用SQLite3运行Redmine

这是最简单的设置; 刚刚运行redmine。

$ docker run -d --name some-redmine redmine

注意:不适合多用户生产使用(见redmine wiki 中说明)

2. 使用数据库容器运行Redmine

建议使用数据库服务器运行Redmine。

2.1. 启动数据库容器

  • PostgreSQL的
$ docker run -d --name some-postgres --network some-network -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=redmine postgres
  • MySQL的(替代-e REDMINE_DB_POSTGRES=some-postgres与-e REDMINE_DB_MYSQL=some-mysql运行管理平台时)
$ docker run -d --name some-mysql --network some-network -e MYSQL_USER=redmine -e MYSQL_PASSWORD=secret -e MYSQL_DATABASE=redmine -e MYSQL_RANDOM_ROOT_PASSWORD=1 mysql:5.7

2.2. 启动redmine

$ docker run -d --name some-redmine --network some-network -e REDMINE_DB_POSTGRES=some-postgres -e REDMINE_DB_USERNAME=redmine -e REDMINE_DB_PASSWORD=secret redmine

3. 通过docker stack deploy或docker-compose方式运行

一个名为stack.yml 的redmine例子:

version: '3.1'  # 指定docker-compose.yml 文件的写法格式,需要和docker版本对应上services: # 配置多个容器的集合redmine:image: redmine       # 指定服务所使用的镜像restart: alwaysports:               # 指定对外暴露的端口- 8080:3000environment:REDMINE_DB_MYSQL: dbREDMINE_DB_PASSWORD: exampledb:image: mysql:5.7restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: exampleMYSQL_DATABASE: redmine

运行docker stack deploy -c stack.yml redmine(或docker-compose -f stack.yml up),等待它完全初始化,访问:
http://swarm-ip:8080,http://localhost:8080或http://host-ip:8080(如适用)。

替代Web服务器
此存储库中的其他标记(如passenger使用的–links标记rails s)使用相同的环境和使用WEBrick()的默认标记,而是为您提供不同的Web和应用程序服务器的选项。passenger使用Phusion Passenger。tini用于收割僵尸。

4. 访问应用程序

目前,上游的默认用户和密码是admin / admin(登录到应用程序)。

4.1. 存储数据的位置

重要说明:有几种方法可以存储在Docker容器中运行的应用程序使用的数据。我们鼓励redmine镜像用户熟悉可用选项,包括:

让Docker 通过使用自己的内部卷管理将文件写入主机系统上的磁盘来管理文件的存储。这是默认设置,对用户来说简单且相当透明。缺点是文件可能很难找到直接在主机系统上运行的工具和应用程序,即外部容器。
在主机系统(容器外部)上创建一个数据目录,并将其挂载到容器内可见的目录中。这将数据库文件放置在主机系统上的已知位置,并使主机系统上的工具和应用程序可以轻松访问这些文件。缺点是用户需要确保目录存在,并且例如正确设置了主机系统上的目录权限和其他安全机制。
Docker文档是了解不同存储选项和变体的一个很好的起点,并且有多个博客和论坛帖子在这个领域进行讨论和提供建议。我们将简单地显示上面后一个选项的基本过程:

在主机系统上的适当卷上创建数据目录,例如/my/own/datadir。
redmine像这样启动你的容器:

$ docker run -d --name some-redmine -v /my/own/datadir:/usr/src/redmine/files --link some-postgres:postgres redmine
-v /my/own/datadir:/usr/src/redmine/files命令的一部分/my/own/datadir将底层主机系统中的目录安装在/usr/src/redmine/files容器内,Redmine将存储上载的文件。

4.2. 端口映射

如果您希望能够在没有容器IP的情况下从主机访问实例,则可以使用标准端口映射。只需添加-p 3000:3000到docker run参数,然后访问或者http://localhost:3000或http://host-ip:3000在浏览器中。

4.3. 环境变量

启动redmine映像时,可以通过在docker run命令行上传递一个或多个环境变量来调整实例的配置。

REDMINE_DB_MYSQL 要么 REDMINE_DB_POSTGRES
这两个变量允许您分别设置MySQL或PostgreSQL主机的主机名或IP地址。这些值是互斥的,因此如果两者都设置,则它是未定义的行为。如果两个变量都未设置,则镜像将回退到使用SQLite。

REDMINE_DB_PORT
此变量允许您指定自定义数据库连接端口。如果未指定,它将默认为常规连接端口:MySQL为3306,PostgreSQL为5432,SQLite为空字符串。

REDMINE_DB_USERNAME
此变量设置Redmine和任何rake任务用于连接到指定数据库的用户。如果未指定,则默认root为MySQL,postgresPostgreSQL或redmineSQLite。

REDMINE_DB_PASSWORD
此变量设置指定用户在连接数据库时将使用的密码。没有默认值。

REDMINE_DB_DATABASE
此变量设置Redmine将在指定数据库服务器中使用的数据库。如果没有指定,它将默认redmine为MySQL,REDMINE_DB_USERNAMEPostgreSQL或sqlite/redmine.dbSQLite的值。

REDMINE_DB_ENCODING
此变量设置连接到数据库服务器时要使用的字符编码。如果未指定,它将使用默认的mysql2库(UTF-8)用于MySQL,utf8PostgreSQL或utf8SQLite。

REDMINE_NO_DB_MIGRATE
此变量允许您控制是否rake db:migrate在容器启动时运行。只需将变量设置为非空字符串1,true并且迁移脚本不会自动在容器启动时运行。

db:migrate如果你用默认值以外的东西开始你的形象也将无法运行CMD,像bash。有关docker-entrypoint.sh详细信息,请参阅镜像中的当前内容

REDMINE_PLUGINS_MIGRATE
此变量允许您控制是否rake redmine:plugins:migrate在容器启动时运行。只需设置变量像一个非空字符串1或true与迁移脚本将在每个容器启动自动运行。它将在之后运行db:migrate。

redmine:plugins:migrate如果你用默认值以外的东西开始你的形象将不会运行CMD,喜欢bash。有关docker-entrypoint.sh详细信息,请参阅镜像中的当前内容

REDMINE_SECRET_KEY_BASE
此变量用于创建初始值config/secrets.yml并设置该secret_key_base值,“Rails使用该值来编码存储会话数据的cookie,从而防止其被篡改。生成新的秘密令牌会在重新启动“(会话存储)后使所有现有会话无效。如果您未设置此变量或提供secrets.yml将使用的变量生成rake generate_secret_token。

4.3. Docker的秘密

作为通过环境变量传递敏感信息的替代方法,_FILE可以将其附加到先前列出的环境变量,从而使初始化脚本从容器中存在的文件加载这些变量的值。特别是,这可以用于从存储在/run/secrets/<secret_name>文件中的Docker机密加载密码。例如:

$ docker run -d --name some-redmine -e REDMINE_DB_MYSQL_FILE=/run/secrets/mysql-host -e REDMINE_DB_PASSWORD_FILE=/run/secrets/mysql-root redmine:tag
目前,这仅支持REDMINE_DB_MYSQL,REDMINE_DB_POSTGRES,REDMINE_DB_PORT,REDMINE_DB_USERNAME,REDMINE_DB_PASSWORD,REDMINE_DB_DATABASE,REDMINE_DB_ENCODING,和REDMINE_SECRET_KEY_BASE。

4.4. 镜像变体

该redmine镜像有许多种,每一个设计用于特定的使用情况。

redmine:
这是事实上的形象。如果您不确定您的需求是什么,您可能想要使用这个。它被设计为既可以用作丢弃容器(安装源代码并启动容器来启动应用程序),也可以用作构建其他镜像的基础。

redmine:-alpine
该镜像是基于流行的高山Linux项目,可用的alpine官方镜像。Alpine Linux比大多数分发基础镜像(约5MB)小得多,因此通常会导致更小的镜像。

当最终镜像尺寸尽可能小时,强烈建议使用此变体。需要注意的主要注意事项是它确实使用musl libc而不是glibc和朋友,因此某些软件可能会遇到问题,具体取决于其libc要求的深度。但是,大多数软件都没有这个问题,因此这种变体通常是一个非常安全的选择。请参阅此黑客新闻评论主题,以获取有关可能出现的问题的更多讨论以及使用基于Alpine的镜像的一些比较/比较。

为了最小化镜像大小,在基于Alpine的镜像中包含其他相关工具(例如git或bash)并不常见。使用此镜像作为基础,在您自己的Dockerfile中添加所需的内容(如果您不熟悉,请参阅alpine镜像说明以获取如何安装软件包的示例)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

研讨会 | 知识图谱前沿技术课程暨学术研讨会(武汉大学站)

知识图谱作为大数据时代重要的知识表示方式之一&#xff0c;已经成为人工智能领域的一个重要支撑。4月28日&#xff0c;“武汉大学信息集成与应用实验室”与“复旦大学知识工场实验室”联合举办“知识图谱前沿技术课程暨学术研讨会”&#xff0c;将结合知识图谱学界研究与业界应…

LayerNorm是Transformer的最优解吗?

本文转载自公众号“夕小瑶的卖萌屋”&#xff0c;专业带逛互联网算法圈的神操作 -----》我是传送门 关注后&#xff0c;回复以下口令&#xff1a; 回复【789】 &#xff1a;领取深度学习全栈手册&#xff08;含NLP、CV海量综述、必刷论文解读&#xff09; 回复【入群】&#xf…

观点 | 滴滴 AI Labs 负责人叶杰平教授:深度强化学习在滴滴的探索与实践+关于滴滴智能调度的分析和思考+滴滴派单和Uber派单对比

AI 科技评论按&#xff1a;7 月 29 日&#xff0c;YOCSEF TDS《深度强化学习的理论、算法与应用》专题探索报告会于中科院自动化所成功举办&#xff0c;本文为报告会第一场演讲&#xff0c;讲者为滴滴副总裁、AI Labs 负责人叶杰平教授&#xff0c;演讲题为「深度强化学习在滴滴…

笔记:企业内部因素评价

目录企业内部因素评价方法&#xff1a;IFE矩阵IFE矩阵介绍分析评价步骤影响企业关键内部因素选择企业内部控制应用指引列出的控制方面参考企业内部因素评价方法&#xff1a;IFE矩阵 对内部因素进行分析的工具&#xff0c;是内部因素评价矩阵&#xff08;Internal Factor Evalu…

消息中间件系列(二):Kafka的原理、基础架构、以及使用场景

一&#xff1a;Kafka简介 Apache Kafka是分布式发布-订阅消息系统&#xff0c;在 kafka官网上对 kafka 的定义&#xff1a;一个分布式发布-订阅消息传递系统。 它最初由LinkedIn公司开发&#xff0c;Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka是一种快速、…

丁力 | cnSchema:中⽂知识图谱的普通话

本文转载自公众号&#xff1a;大数据创新学习中心。3月10日下午&#xff0c;复旦大学知识工场联手北京理工大学大数据创新学习中心举办的“知识图谱前沿技术课程暨学术研讨会”上&#xff0c;OpenKG联合发起⼈、海知智能CTO丁力博士分享了以“cnSchema&#xff1a;中⽂知识图谱…

详解ERNIE-Baidu进化史及应用场景

一只小狐狸带你解锁 炼丹术&NLP 秘籍Ernie 1.0ERNIE: Enhanced Representation through Knowledge Integration 是百度在2019年4月的时候&#xff0c;基于BERT模型&#xff0c;做的进一步的优化&#xff0c;在中文的NLP任务上得到了state-of-the-art的结果。它主要的改进是…

解读 | 滴滴主题研究计划:机器学习专题+

解读 | 滴滴主题研究计划&#xff1a;机器学习专题&#xff08;上篇&#xff09; 解读 | 滴滴主题研究计划&#xff1a;机器学习专题&#xff08;上篇&#xff09; 2018年7月31日 管理员 微信分享 复制页面地址复制成功滴滴主题研究计划 滴滴希望通过开放业务场景&#xff0c;与…

笔记:seafile 7.x 安装和部署摘要

文章目录1. 安装1.1. 注意事项1.2. 企业微信集成并支持自建第三方应用配置1.3. 内置 Office 文件预览配置1.3.1. 安装 Libreoffice 和 UNO 库2. 主要功能2.1. 服务器个性化配置2.2. 管理员面板2.3. seafile 命令行使用教程2.3.1. ubuntu安装2.3.2. init 初始化seafile配置文件夹…

文章合集

Hi 大家好&#xff0c;我是陈睿|mikechen,这是优知学院的所有文章集合&#xff0c;专门整理这个页面&#xff0c;希望会对大家在浏览感兴趣文章的时候&#xff0c;能有更好的帮助&#xff01; 这些文章的呈现&#xff0c;并不是按照时间轴来排序&#xff0c;无论是新旧文章&…

领域应用 | 阿里发布藏经阁计划,打造 AI 落地最强知识引擎

如果没有知识引擎&#xff0c;人工智能将会怎样&#xff1f;知识引擎可以把数据加工成信息&#xff0c;信息和现有的知识通过推理能够获得新的知识&#xff0c;从而形成庞大的知识网络&#xff0c;像大脑一样支持各种决策。你与智能音箱进行对话&#xff0c;背后就是基于知识引…

ACL2020 | FastBERT:放飞BERT的推理速度

FastBERT 自从BERT问世以来&#xff0c;大多数NLP任务的效果都有了一次质的飞跃。BERT Large在GLUE test上甚至提升了7个点之多。但BERT同时也开启了模型的“做大做深”之路&#xff0c;普通玩家根本训不起&#xff0c;高端玩家虽然训得起但也不一定用得起。 所以BERT之后的发展…

笔记:awesome-chatops摘要

英文原文见awesome-chatops ChatOps是一种协作模型&#xff0c;促进将人员、流程、工具和自动化软件连接到透明的工作流程&#xff08;会话驱动的开发&#xff09;中。它允许任务自动化和协作&#xff0c;促使团队保持透明&#xff0c;以更好、更便宜和更快的方式工作。 相关…

2017年双十一最全面的大数据分析报告在此!+2018年双十一已经开始,厚昌竞价托管教你如何应对流量流失?+2019年双十一大战一触即发:阿里、京东都有哪些套路和玩法

首先说一个众所周知的数据&#xff1a;2017年双十一天猫成交额1682亿。 所以今天&#xff0c;从三个角度带你一起去探索1682亿背后的秘密&#xff1a; 1、全网热度分析&#xff1a;双十一活动在全网的热度变化趋势、关注来源、媒体来源以及关联词分析。 2、各平台对比分析&…

阿里P8架构师谈:大数据架构设计(文章合集)

架构师进阶有一块很重要的内容&#xff0c;就是需要掌握大数据的架构设计&#xff0c;主要涵括&#xff1a; MySQL等关系式数据库&#xff0c;需要掌握数据库的索引、慢SQL、以及长事务的优化等。 需要掌握非关系式数据库&#xff08;NoSQL&#xff09;的选型&#xff0c;以及…

论文浅尝 | 利用 RNN 和 CNN 构建基于 FreeBase 的问答系统

Qu Y,Liu J, Kang L, et al. Question Answering over Freebase via Attentive RNN withSimilarity Matrix based CNN[J]. arXiv preprint arXiv:1804.03317, 2018.概述随着近年来知识库的快速发展&#xff0c;基于知识库的问答系统&#xff08;KBQA &#xff09;吸引了业界的广…

positional encoding位置编码详解:绝对位置与相对位置编码对比

本文转载自公众号“夕小瑶的卖萌屋”&#xff0c;专业带逛互联网算法圈的神操作 -----》我是传送门 关注后&#xff0c;回复以下口令&#xff1a; 回复【789】 &#xff1a;领取深度学习全栈手册&#xff08;含NLP、CV海量综述、必刷论文解读&#xff09; 回复【入群】&#xf…

笔记:python3编写的仿hubot的聊天机器人Chattie

简要翻译 Chattie&#xff0c;原文来自github&#xff0c;有删改。 Chattie是受Hubot启发的Python机器人框架。 安装chattie 安装命令&#xff1a; pip3 install chattie创建一个新的bot&#xff0c;运行&#xff1a; chattie new my_bot_name使用bot名称my_bot_name创建一…

## 作为多目标优化的多任务学习:寻找帕累托最优解+组合在线学习:实时反馈玩转组合优化-微软研究院+用于组合优化的强化学习:学习策略解决复杂的优化问题

NIPS 2018&#xff1a;作为多目标优化的多任务学习&#xff1a;寻找帕累托最优解多任务学习本质上是一个多目标问题&#xff0c;因为不同任务之间可能产生冲突&#xff0c;需要对其进行取舍。本文明确将多任务学习视为多目标优化问题&#xff0c;以寻求帕累托最优解。而经过实验…

手把手教你求职进入BAT

“ 最近利用部分的时间&#xff0c;帮助了好几位读者朋友进入了自己心仪的公司&#xff0c;以下我会谈到&#xff0c;求职简历方面给到他们的建议。 如果你本身具备很强的实力&#xff0c;不要因为对求职简历细节不重视&#xff0c;反而痛失良机。 求职加薪&#xff0c;除了…