使用docker搭建公司redmine服务器

Posted YatHo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用docker搭建公司redmine服务器相关的知识,希望对你有一定的参考价值。

 

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

 

以上是关于使用docker搭建公司redmine服务器的主要内容,如果未能解决你的问题,请参考以下文章

云原生之Docker实战使用Docker部署Redmine项目管理平台

2015年Ubuntu最新Redmine的安装和配置

2015年Ubuntu最新Redmine的安装和配置

更新Docker容器

如何在服务器上搭建和配置redmine bitname

阿里云部署Docker----安装和使用redmine