使用 docker 容器安装 redmine 插件

Install redmine plug-in using docker container

我可以使用这两个命令安装 redmine。

docker run --name myred1 -e MYSQL_ROOT_PASSWORD=india -e MYSQL_DATABASE=redmine -v /my/custom:/etc/mysql/conf.d  -v /storage/mysql/datadir:/var/lib/mysql -d mysql:5.6

docker run --name abt -p 3000:3000 -v /my/own/datadir:/usr/src/redmine/files --link myred1:mysql -d redmine

但是如何安装 scrum 插件?

http://www.redmine.org/plugins/scrum-plugin

根据安装说明...

从插件页面的文件部分下载。

作为任何 Redmine 插件,只需将其部署在插件文件夹中,确保文件夹名称只是 scrum 然后 运行:

bundle exec rake redmine:plugins:migrate

我在命令提示符下尝试了上述命令(在 docker 容器中)

root@d7b535b9c607:/usr/src/redmine/plugins/scrum# bundle exec rake redmine:plugins:migrate
(in /usr/src/redmine)

但是没有安装插件。

# if the name of the redmine container is abt then use the following command to login:
docker exec -it abt bash

# change to plugins directory
cd plugins

# download source code
wget https://redmine.ociotec.com/attachments/download/440/scrum%20v0.16.2.tar.gz

# extract
tar xvf scrum\ v0.16.2.tar.gz

# install
bundle exec rake redmine:plugins:migrate

# restart container: 
docker restart abt

您可以通过添加额外的数据卷来保留容器重建之间的插件。由于在没有 docker-compose 的情况下生成 docker 个容器很痛苦,让我用它来做进一步的解释。

1。创建 docker-compose.yml 描述您的设置

它应该在一个单独的桥接网络中创建两个服务(MySQL 和 Redmine 各一个):

version: '2'

networks:
  redmine-network:

volumes:
  redmine-plugins:
  redmine-themes:
  redmine-data:

services:
  mysql-for-redmine:
    image: mysql:5.6
    networks:
      - redmine-network
    volumes:
      # Consider using separate volume containers
      # instead of host directory mounts.
      - /my/custom:/etc/mysql/conf.d
      - /storage/mysql/datadir:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: "<india>"
      MYSQL_DATABASE:      "redmine"

  redmine:
    image: redmine:3.3-passenger
    ports:
      - 3000:3000
    networks:
      - redmine-network
    volumes:
      - redmine-plugins:/usr/src/redmine/plugins
      - redmine-themes:/usr/src/redmine/public/themes
      - redmine-data:/usr/src/redmine/files
    environment:
      # Host name matches the MySQL container name.
      REDMINE_DB_MYSQL:        "mysql-for-redmine"
      REDMINE_DB_USERNAME:     "root"
      REDMINE_DB_PASSWORD:     "<india>"
      REDMINE_SECRET_KEY_BASE: "..."
    restart: always

2。部署您的配置

只需从您放置配置文件的目录中 运行 docker-compose up -d

3。手动安装插件(和主题)

找到容器名称运行ning Redmine with docker ps;在我的系统上是 root_redmine_1。 运行 将以下内容附加到其中:

# docker exec -ti root_redmine_1 gosu redmine bash

它将在容器内为 "redmine" 用户打开一个 shell。使用 wgettar xjf 下载并提取您需要的插件。完成后退出 shell。

4。重新启动您的实例以检查插件是否工作

Cast docker restart root_redmine_1 命令并查看它是否按预期工作。由于插件被放置在一个单独的数据卷上,它们也应该在容器重建中幸存下来。

无需解释 docker-作曲家级别的内容

version: '3'
services:

  redmine:
    image: redmine
    restart: always
    ports:
      - 3000:3000
    environment:
      - REDMINE_DB_MYSQL=mysql_redmine
      - REDMINE_DB_USERNAME=root
      - REDMINE_DB_PASSWORD=pass
      - REDMINE_PLUGINS_MIGRATE=true
    volumes:
      - ./redmine_data:/usr/src/redmine/files
      - ./redmine-plugins:/usr/src/redmine/plugins

  mysql_redmine:
    image: mysql:5.7
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=pass
      - MYSQL_DATABASE=redmine
    volumes:
      - ./mysql-data_red:/var/lib/mysql 

环境变量 REDMINE_PLUGINS_MIGRATE 提供了直接迁移插件的可能性! 也不需要进入容器

现在您只需将 git submodule add./redmine-plugins

中的插件 git 存储库一起使用