Bitnami Moodle容器升级至4.4及多语言支持分步指导请求
Bitnami Moodle 4.3.2 升级至4.4并启用全语言支持分步指南
前置准备:全量备份(必做)
- 备份数据库:执行命令导出数据库内容
docker-compose exec mariadb mysqldump -u bn_moodle bitnami_moodle > moodle_db_backup.sql - 备份数据卷目录:复制本地挂载的三个数据目录到安全位置
cp -r ./mariadb_data ./mariadb_data_backup cp -r ./moodle_data ./moodle_data_backup cp -r ./moodledata_data ./moodledata_data_backup
步骤1:调整Dockerfile
将你的Dockerfile修改为指定4.4版本的基础镜像:
FROM docker.io/bitnami/moodle:4.4
步骤2:确认docker-compose.yml配置
确保你的docker-compose.yml中moodle服务的配置如下(已包含构建参数启用全语言支持):
# Copyright Broadcom, Inc. All Rights Reserved. # SPDX-License-Identifier: APACHE-2.0 version: '2' services: mariadb: image: docker.io/bitnami/mariadb:11.3 environment: # ALLOW_EMPTY_PASSWORD is recommended only for development. - ALLOW_EMPTY_PASSWORD=yes - MARIADB_USER=bn_moodle - MARIADB_DATABASE=bitnami_moodle - MARIADB_CHARACTER_SET=utf8mb4 - MARIADB_COLLATE=utf8mb4_unicode_ci volumes: - ./mariadb_data:/bitnami/mariadb moodle: build: context: . dockerfile: Dockerfile args: - WITH_ALL_LOCALES=yes ports: - '80:8080' - '443:8443' environment: - MOODLE_DATABASE_HOST=mariadb - MOODLE_DATABASE_PORT_NUMBER=3306 - MOODLE_DATABASE_USER=bn_moodle - MOODLE_DATABASE_NAME=bitnami_moodle # ALLOW_EMPTY_PASSWORD is recommended only for development. - ALLOW_EMPTY_PASSWORD=yes volumes: - ./moodle_data:/bitnami/moodle - ./moodledata_data:/bitnami/moodledata depends_on: - mariadb
步骤3:执行升级操作
- 停止当前运行的服务栈
docker-compose down - 构建基于Moodle 4.4的自定义镜像
docker-compose build moodle - 先启动数据库服务,等待其完全就绪
docker-compose up -d mariadb # 查看日志确认数据库启动完成,出现 "ready for connections" 即可 docker-compose logs mariadb - 启动Moodle服务,自动执行数据库升级
docker-compose up -d moodle # 实时查看升级日志,等待升级脚本执行完成(可能需要数分钟) docker-compose logs -f moodle
步骤4:验证升级结果
- 访问站点并登录管理员账号,进入站点管理-通知,确认版本显示为Moodle 4.4.x
- 进入站点管理-语言-语言包安装,验证所有语言包已可用,可切换语言测试功能正常
后续检查与清理
- 检查插件兼容性:升级后部分旧插件可能不兼容,在通知页面会有提示,需及时更新对应插件
- 清理无用镜像:删除旧的Moodle 4.3版本镜像,释放磁盘空间
docker image prune
故障恢复(若升级失败)
- 停止当前服务栈:
docker-compose down - 恢复备份的数据目录:
rm -rf ./mariadb_data ./moodle_data ./moodledata_data cp -r ./mariadb_data_backup ./mariadb_data cp -r ./moodle_data_backup ./moodle_data cp -r ./moodledata_data_backup ./moodledata_data - 恢复数据库:
docker-compose up -d mariadb docker-compose exec mariadb mysql -u bn_moodle bitnami_moodle < moodle_db_backup.sql - 恢复原有docker-compose.yml配置(换回Moodle 4.3镜像),启动服务栈:
docker-compose up -d
内容的提问来源于stack exchange,提问作者Jussi
相关产品推荐
相关产品推荐

