Я пытаюсь установить плагин в докернизированной среде Redmine .
Я получаю следующую ошибку:
Bundler could not find compatible versions for gem "json":
In snapshot (Gemfile.lock):
json (= 2.2.0)
In Gemfile:
httparty (~> 0.13.7) was resolved to 0.13.7, which depends on
json (~> 1.8)
simplecov (~> 0.14.1) was resolved to 0.14.1, which depends on
json (>= 1.8, < 3)
Я пытался установить плагин из контейнера, где я могу разрешить зависимости, однако при перезапуске контейнера - из-за природы слоев изображений докера - установленные драгоценные камни исчезли.
Я пытался создать собственный образ с помощью следующего файла Dockerfile:
FROM redmine:latest
USER root
RUN set -eux; \
apt-get update; \
apt-get install -y \
build-essential
RUN bundle update
RUN gem install httparty
RUN gem install json -v 1.8.6
RUN bundle update
RUN bundle install
RUN chmod -R 777 /home/redmine/.bundle
Сборка образа успешна, однако, когда docker-compose up
попадает в часть переноса плагина, он выдает ту же ошибку.
Мой docker-compose.yml:
version: '3.1'
services:
redmine:
build: .
restart: always
ports:
- 80:3000
volumes:
- files:/usr/src/redmine/files
# - ./sc:/home/redmine/git
# - ./themes:/usr/src/redmine/public/themes
# - ./configuration.yml:/usr/src/redmine/config/configuration.yml
- ./plugins:/usr/src/redmine/plugins
# - ./gems:/usr/local/bundle/gems
environment:
REDMINE_DB_MYSQL: db
REDMINE_DB_PASSWORD: supersecret
REDMINE_PLUGINS_MIGRATE: 1
db:
image: mysql:5.7
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci --init-connect='SET NAMES UTF8;' --innodb-flush-log-at-trx-commit=0
restart: always
volumes:
- db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: supersecret
MYSQL_DATABASE: redmine
volumes:
files:
db:
Кому-нибудь удалось решить подобную проблему?