web-dev-qa-db-ja.com

dockerコンテナーを使用してredmineプラグインをインストールする

これら2つのコマンドを使用して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

しかし、どうすればスクラムプラグインをインストールできますか?

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

インストールノートに従って...

プラグインページの[ファイル]セクションからダウンロードします。

他のRedmineプラグインと同様に、プラグインフォルダーに展開し、フォルダー名がスクラムであることを確認して実行します。

bundle exec rake redmine:plugins:migrate

上記のコマンドをコマンドプロンプト(Dockerコンテナー内)で試しました

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

ただし、プラグインはインストールされません。

8
shantanuo

プラグインを維持するために追加のデータボリュームを追加することで、コンテナのレクリエーション間でプラグインを保持できます。 docker-composeなしでDockerコンテナを生成するのは面倒なので、詳細に説明します。

1.セットアップを説明するdocker-compose.ymlを作成します

別のブリッジネットワークに2つのサービス(MySQLとRedmineのそれぞれに1つ)を作成する必要があります。

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.プラグイン(およびテーマ)を手動でインストールします

Redmineを実行しているコンテナの名前をdocker psで見つけます。私のシステムではroot_redmine_1です。以下を実行して接続します。

# docker exec -ti root_redmine_1 gosu redmine bash

コンテナー内の「redmine」ユーザーのシェルを開きます。 wgetおよびtar xjfを使用して、必要なプラグインをダウンロードおよび抽出します。完了したらシェルを終了します。

4.インスタンスを再起動して、プラグインが機能するかどうかを確認します

docker restart root_redmine_1コマンドをキャストし、想定どおりに機能しているかどうかを確認します。プラグインは別のデータボリュームに配置されるため、コンテナのレクリエーションでも存続するはずです。

11
firegurafiku

Docker-composerレベルで何が言われたかを説明する必要はありません

version: '3'
services:

  redmine:
    image: redmine
    restart: always
    ports:
      - 3000:3000
    environment:
      - REDMINE_DB_MYSQL=redmine
      - 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プラグインgitリポジトリを使用して./redmine-plugins

2
Umanochinpo
# 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
0
shantanuo