redmine旧系统迁移到docker中
起因
旧系统是Linux,迁移redmine可谓是非常麻烦,安装redmine可是一个非人的折磨。
新的改变
使用docker做好一个环境,以后有需要的时候直接使用即可,不必再重新安装
安装尝试
service:
redmine:
container_name: redmine
# restart: always
image: redmine:4.2.1
build:
context: ./redmine
dockerfile: dockerfile
ports:
- 8082:3000
environment:
TZ: Asia/Shanghai
REDMINE_DB_MYSQL: 数据库ip
REDMINE_DB_USERNAME: redmine
REDMINE_DB_PASSWORD: xxxx
REDMINE_DB_DATABASE: redmine
REDMINE_PLUGINS_MIGRATE: 1
# REDMINE_SECRET_KEY_BASE: supersecretkey
volumes:
- ./redmine/files:/usr/src/redmine/files
# - ./redmine/plugins:/usr/src/redmine/plugins
- ./redmine/plugins:/root/plugins # 注意,在迁移过程中,如果直接把插件放进去,有可能导致容器无法驻留,导致无法进行后续的工作
#启动容器
docker compose up redmine -d
处理插件问题
- 说明:把插件分开处理是避免插件放进去后,导致容器无法启动,也就不可能进行容器内处理问题了
# 进入容器
docker exec -it redmine bash
# 拷贝插件,redmine容器已经设置了WORKDIR,因此默认进入容器后就是在redmine目录中
cp -r /root/plugins/* plugins/
# 插件安装检查
bundle install
# 估计会遇到N多错误,但可以通过查看日志进行处理
- 插件安装注意,有可能是要安装一些必要的系统工具,我安装系统工具的做法是做一个自己的镜像
自己的镜像
FROM redmine:5.1.2-bookworm
ENV http_proxy "http://192.168.157.1:7890"
ENV https_proxy "http://192.168.157.1:7890"
ENV no_proxy "192.168.157.1, gems.ruby-china.com"
ENV TZ=Asia/Shanghai
RUN apt-get update; apt-get install -y --no-install-recommends ruby-dev libreoffice make gcc
RUN cd /root/
RUN wget https://github.com/jgm/pandoc/releases/download/3.1.12.2/pandoc-3.1.12.2-1-amd64.deb
RUN dpkg -i /root/pandoc-3.1.12.2-1-amd64.deb
RUN cd /usr/src/redmine/plugins
RUN git clone https://github.com/HugoHasenbein/redmine_more_previews.git
RUN cd ..
RUN bundle install --without development test
# 创建自己的镜像
docker build -t 容器名称:版本 .