zoukankan      html  css  js  c++  java
  • 使用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

    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'
    

      

  • 相关阅读:
    linux 环境变量
    Java finally语句到底是在return之前还是之后执行?
    JAVA NIO之浅谈内存映射文件原理与DirectMemory
    cpu架构
    tomcat 安装
    linux 下载rpm包到本地,createrepo:创建本地YUM源
    linux下查看和添加PATH环境变量
    virtualbox 相关操作
    空间叠加分析
    java程序的加载与执行
  • 原文地址:https://www.cnblogs.com/YatHo/p/7863067.html
Copyright © 2011-2022 走看看