本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

本镜像主要基于MediaWiki官方Docker仓库构建,主要修改如下:
通过以下环境变量生成LocalSettings.php并自动安装MediaWiki。若未提供这些变量,需通过安装向导完成配置。更多配置说明参见Manual:Configuration_settings。
-e MEDIAWIKI_SITE_SERVER=(必填,设置服务器主机及协议,如[***];配置$wgServer)-e MEDIAWIKI_SITE_NAME=(默认MediaWiki;配置$wgSitename)-e MEDIAWIKI_SITE_LANG=(默认en;配置$wgLanguageCode)-e MEDIAWIKI_ADMIN_USER=(默认admin;配置默认管理员用户名)-e MEDIAWIKI_ADMIN_PASS=(默认rosebud;配置默认管理员密码)-e MEDIAWIKI_UPDATE=true(默认false;运行php maintenance/update.php)-e MEDIAWIKI_SLEEP=(默认0;延迟容器启动,适用于Docker Compose)-e MEDIAWIKI_EXTENSIONS(默认空;指定启用的扩展,逗号分隔,扩展在镜像构建时安装)-e PARSOID_DOMAIN(默认localhost;Parsoid域名)-e RESTBASE_URL(默认未设置;RestBase实例URL,未设置则不配置)-e LDAP_DOMAIN(默认未设置;LDAP域名,如CWL)-e LDAP_SERVER(默认未设置;LDAP服务器地址)-e LDAP_PORT(默认389;LDAP服务器端口)-e LDAP_ENCRYPTION_TYPE(默认clear;LDAP连接加密类型,可选clear、ldapi、tls、ssl)-e LDAP_BASE_DN(默认ou=Users,ou=LOCAL,dc=domain,dc=local;LDAP搜索基础DN)-e LDAP_USER_BASE_DN(默认ou=Users,ou=LOCAL,dc=domain,dc=local;用户信息LDAP基础DN)-e LDAP_SEARCH_STRINGS(默认未设置;LDAP搜索字符串)-e LDAP_SEARCH_ATTRS(默认未设置;LDAP搜索属性)-e LDAP_PROXY_AGENT(默认未设置;LDAP代理代理)-e LDAP_PROXY_PASSWORD(默认未设置;LDAP代理代理密码)-e LDAP_USERNAME_ATTR(默认cn;用户名LDAP属性)-e LDAP_REALNAME_ATTR(默认displayname;真实姓名LDAP属性)-e LDAP_EMAIL_ATTR(默认mail;电子邮件LDAP属性)-e MEDIAWIKI_MAIN_CACHE(默认CACHE_NONE;主缓存)-e MEDIAWIKI_MEMCACHED_SERVERS(默认[];Memcached服务器列表,逗号分隔,如["memcached:11211", "memcached1:11211"])-e UBC_AUTH(默认未设置;设为true启用UBC特定认证扩展)-e AUTO_CREATED_USER_REDIRECT(默认未设置;设为Wiki页面如Main_page,新用户首次通过LDAP登录时重定向至此页面)上述变量将生成MediaWiki所需的LocalSettings.php文件。若挂载共享卷(见下文“共享卷”),生成的LocalSettings.php会自动移至共享卷以便编辑。若数据目录中存在CustomSettings.php,则会在生成的LocalSettings.php末尾添加require('/data/CustomSettings.php');。
docker-compose up
可通过docker-compose.yaml中的环境变量进行定制。
通过以下环境变量连接外部数据库服务器:
-e MEDIAWIKI_DB_TYPE=...(默认mysql,也可设为postgres)-e MEDIAWIKI_DB_HOST=...(默认链接数据库容器的地址)-e MEDIAWIKI_DB_PORT=...(默认链接数据库容器的端口或指定数据库类型的默认端口)-e MEDIAWIKI_DB_USER=...(默认根据数据库类型,mysql为root,postgres为postgres)-e MEDIAWIKI_DB_PASSWORD=...(默认链接数据库容器的密码)-e MEDIAWIKI_DB_NAME=...(默认mediawiki)-e MEDIAWIKI_DB_SCHEMA...(默认mediawiki,仅适用于PostgreSQL)若指定的MEDIAWIKI_DB_NAME在MySQL服务器上不存在,且MEDIAWIKI_DB_USER有足够权限,容器启动时会自动创建该数据库。
连接外部数据库服务器示例:
docker run --name some-mediawiki \ -e MEDIAWIKI_DB_HOST=10.0.0.1 \ -e MEDIAWIKI_DB_PORT=3306 \ -e MEDIAWIKI_DB_USER=app \ -e MEDIAWIKI_DB_PASSWORD=secure \ wikimedia/mediawiki
运行docker run时使用-v参数挂载共享卷,MediaWiki容器会自动查找LocalSettings.php文件及images、skins、extensions文件夹。找到后会创建符号链接,替换默认MediaWiki安装中的对应文件或文件夹。这便于配置(LocalSettings.php)、备份上传文件(images)及定制(skins和extensions)。
强烈建议挂载共享卷,使上传文件和图片存储在容器外部。
默认共享卷需挂载至容器的/data目录,可通过-e MEDIAWIKI_SHARED=/new/data/path修改路径。
若检测到composer.lock和composer.json文件,容器会自动下载composer并运行composer install,用于安装额外扩展、皮肤和依赖。
通过浏览器访问http://localhost:8080或[***]。
首次启动应用:
docker-compose up -d
启动后,运行以下命令添加user_cwl_extended_account_data表:
docker cp ./dev/add_table.sql mediawiki-docker_db_1:/add_table.sql docker exec -it mediawiki-docker_db_1 /bin/bash -c "mysql -u root -ppassword mediawiki < /add_table.sql"
在docker-compose文件中取消注释行- ./LocalSettings.php:/var/www/html/LocalSettings.php。
最后重启所有容器:
docker-compose down docker-compose up -d
使用首选LDAP GUI工具连接LDAP容器,地址localhost:1389,登录名cn=admin,dc=example,dc=org,密码admin。
添加新用户时,确保使用simpleSecurityObject、inetOrgPerson和ubcEdu类。
MediaWiki:Pluggableauth-loginbutton-label(默认标签“Log in with PluggableAuth”)。MediaWiki:Userlogin-helplink2和MediaWiki:Helplogin-url(默认超链接“Help with logging in”指向MediaWiki帮助页面)。MediaWiki:Prefs-help-email(默认消息提及电子邮件用于密码重置,在LDAP认证下不相关)。默认登录和未登录用户的Caliper actor参见mediawiki-extensions-caliper repo的CaliperActor对象。
可通过SetCaliperActorObject钩子定制Caliper actor。本容器在CustomHooks.php中通过SetCaliperActor函数使用此钩子。
默认SetCaliperActor函数使用UBC puid作为标识符,CALIPER_LDAP_ACTOR_HOMEPAGE环境变量作为基础字符串,因此actor标识符格式为CaliperLDAPActorHomepage/LDAP_PUID(如[***])。可根据机构需求、部署设置和/或授权方式移除该函数并创建自定义函数。
修改容器内文件:
docker exec -it CONTAINER_ID sh vi FILE_TO_CHANGE
可能需要重启容器使修改生效:
docker-compose restart SERVICE_NAME
其中SERVICE_NAME可为docker-compose中的任意服务,如nodeservices、web、db等。容器内的修改会持久化。
REL*分支跟踪上游MediaWiki发布版本。当仓库更新并准备部署时,应创建新标签,格式为BRANCH_NAME + BUILD_NUMBER,如REL1_30_B2或REL1_31_B5,其中BUILD_NUMBER按顺序递增。node-services仓库也遵循相同规则。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429