What is Redmine?

  Redmine is a flexible project management web application. Written using the Ruby on Rails framework, it is cross-platform and cross-database.

  官方最简启动方式:

$ curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-redmine/master/docker-compose.yml > docker-compose.yml
$ docker-compose up -d

 查看官方docker-compose内容

➜  yatho_redmine cat docker-compose.yml
version: '2'
services:
mariadb:
image: 'bitnami/mariadb:latest'
environment:
- ALLOW_EMPTY_PASSWORD=yes
volumes:
- 'mariadb_data:/bitnami'
redmine:
image: 'bitnami/redmine:latest'
labels:
kompose.service.type: nodeport
ports:
- '80:3000'
volumes:
- 'redmine_data:/bitnami'
depends_on:
- mariadb
volumes:
mariadb_data:
driver: local
redmine_data:
driver: local

搭建自己的服务器:

环境释放

Ubuntu服务器:Docker版本

➜  redmine docker version
Client:
Version: 17.05.0-ce
API version: 1.29
Go version: go1.7.5
Git commit: 89658be
Built: Thu May 4 22:10:54 2017
OS/Arch: linux/amd64 Server:
Version: 17.05.0-ce
API version: 1.29 (minimum version 1.12)
Go version: go1.7.5
Git commit: 89658be
Built: Thu May 4 22:10:54 2017
OS/Arch: linux/amd64
Experimental: false

下载镜像

  安装redmine需要redmine和MySQL的镜像,直接下载官方最新版本(可以按照公司需要下载制定的版本)

docker pull mysql
docker pull redmine

  下载后查看镜像

docker images

docker启动mysql

docker run -d -p 3306:3306 --name server-mysql -e MYSQL_ROOT_PASSWORD="pass"  -e MYSQL_DATABASE=redmine mysql:latest

   这里为物理机和虚拟机的3306端口做了端口映射,以让外部用户可以通过3306端口访问mysql实例

docker启动redmine

docker run -d -p 8080:3000 --name=server-redmine -e MYSQL_ROOT_PASSWORD="pass" --link server-mysql:mysql redmine:latest

  这里为物理机和虚拟机的8080与3000端口做了端口映射,使用外部用户可以通过8080端口访问redmine.

  检查启动

  打开浏览器访问物理机的8080端口就可以打开redmine的页面了

使用数据卷共享数据

  在redmine的使用过程中,通常会有用户上传文件,这些文件存放在/usr/src/redmine/files路径下,使用docker安装后,这些文件便在容器内部,如果日常需要备份等维护工作,能在物理机上进行操作是比较方便的。因此借助docker的数据卷功能以实现这种需求。

docker run -d -p 8080:3000 --name=server-redmine -e MYSQL_ROOT_PASSWORD="pass" --link server-mysql:mysql -v /redmine-dir:/usr/src/redmine/files redmine:latest

  同样的mysql的数据存储目录也可以和物理机共享

docker run -d -p 3306:3306 --name server-mysql -v /mysql-dir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="pass"  -e MYSQL_DATABASE=redmine mysql:latest

数据库备份

  数据库备份的一种方法是dump成sql文件,见下面的命令。

docker exec server-mysql sh -c 'exec mysqldump --databases redmine -uroot -p"$MYSQL_ROOT_PASSWORD"' > /your/host/path/bak.sql

如果想将虚拟机的文件复制出来,可以用:

docker cp server-mysql:/var/lib/mysql/redmine ./

docker-compose

  为方便维护,改装成docker-compose

version: '1'
server-redmine:
image: redmine:latest
links:
- server-mysql:server-mysql
ports:
- '8087:3000'
environment:
- MYSQL_ROOT_PASSWORD=pass
volumes:
- '/root/docker/redmine/redmine_dir:/usr/src/redmine/files' server-mysql:
image: mysql:latest
environment:
- MYSQL_ROOT_PASSWORD=pass
volumes:
- '/root/docker/redmine/mysql__dir:/var/lib/mysql'

  

使用docker搭建公司redmine服务器的更多相关文章

  1. 基于Docker搭建Nginx图片服务器

    前言 一般开发中,都会把图片上传到一个目录,然后将目录和文件名拼接存储在数据库中,但是,这种方法如果没弄好的话可能有一定的缺陷. 若项目搬迁,即时这台服务器本身还在用,存放在服务器的跟项目相关的图片也 ...

  2. NET Core:搭建私有Nuget服务器以及打包发布Nuget包

    docker 安装 https://www.cnblogs.com/liuxiaoji/p/11014329.html 1.使用docker搭建私有Nuget服务器 docker run -d -p ...

  3. 如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器

    Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动 ...

  4. docker搭建gitlab、Redmine

    本地使用windows,setting里面切换至linux 从Docker图标的右键菜单中选中 “Switch to Linux containers ...” Docker Engine运行在Lin ...

  5. Docker搭建Svn服务器

    一.下载镜像 # 搜索镜像 docker search svn # 下载镜像 docker pull garethflowers/svn-server 二.启动镜像 # 编辑配置文件 vim dock ...

  6. 腾讯云轻量服务器通过Docker搭建外网可访问连接的redis5.x集群

    总结记录/朱季谦 最近买了一台4核16的腾讯云轻量应用服务器,花了我快四百的大洋,打算搭建一堆docker组件集群,最先开始是通过docker搭建redis集群,计划使用三个端口,分别是7001,70 ...

  7. 使用Docker搭建svn服务器教程

    svn简介 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subv ...

  8. 【译文】用Spring Cloud和Docker搭建微服务平台

    by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...

  9. Docker最全教程之使用Docker搭建Java开发环境(十七)

    前言 Java是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿. 本篇仅作探索,希望 ...

随机推荐

  1. Windows 2008禁止IE增强安全配置修改安全设置方法

    windows 2008更改IE安全设置 在默认状态下,使用Windows Server 2008系统自带的IE浏览器访问网页内容时,我们时常发现页面内容显示不全.后来,我们进入IE浏览器的Inter ...

  2. 安卓开发笔记——WebView组件

    我们专业方向本是JAVA Web,这学期突然来了个手机App开发的课设,对于安卓这块,之前自学过一段时间,有些东西太久没用已经淡忘了 准备随笔记录些复习笔记,也当做温故知新吧~ 1.什么是WebVie ...

  3. Android Studio INSTALL_FAILED_UID_CHANGED的解决办法

    使用Android Studio开发Android应用,把Android应用调试安装在手机上时,出现了安装失败的提示:INSTALL_FAILED_UID_CHANGED. 上网找了很多资料: 1.说 ...

  4. vue的手机端框架mint-ui头部header组件实现返回到上一个浏览页面

    <mt-header title="中文号主页" fixed> <router-link to="" slot="left" ...

  5. tomcat和nginx的使用

    1.下载tomcat,配置conf/server.xml,在Host节点下添加Context节点,指定程序目录: <Context path="/ol" docBase=&q ...

  6. HTML5 标准规范完成了

    ​    ​万维网联盟(W3C)昨天宣布,HTML5 标准规范终于最终制定完成了,并已公开发布.对于前端工程师来说,这无疑是一个振奋人心的好消息. ​    ​众所周知,HTML5改变了互联网,将成为 ...

  7. Spring中的类型转换与数据绑定(PropertyEditor、ConversionService、Data Binding、Formatter)

    Spring早期使用PropertyEditor进行Object与String的转换.到Spring 3后,Spring提供了统一的ConversionService API和强类型的Converte ...

  8. logback -- 配置详解 -- 四 -- <filter>

    附: logback.xml实例 logback -- 配置详解 -- 一 -- <configuration>及子节点 logback -- 配置详解 -- 二 -- <appen ...

  9. 解决SOCKET通信 ERROR_INSUFFICIENT_BUFFER错误

    错误发生在服务端异步收到一个socket连接,之后使用WSAGetLastError()得到的IO错误码是122 这个错误码在系统中的解释是The data area passed to a syst ...

  10. UITextField in a UITableViewCell

    http://stackoverflow.com/questions/409259/having-a-uitextfield-in-a-uitableviewcell http://stackover ...