MediaWiki docker 图片 - 如何正确设置
MediaWiki docker image - how to set up properly
我正在努力快速建立自己的 Wiki。
我发现这个 MediaWiki docker image 我可以使用。
我正在使用 Docker Compose,我有以下 stack.yml
文件(基于上面 link 的文件)。
version: '3'
services:
server:
image: mediawiki
restart: always
ports:
- 8080:80
links:
- database
volumes:
- /var/www/html/images
# After initial setup, download LocalSettings.php to the same directory as
# this yaml and uncomment the following line and use compose to restart
# the mediawiki service
# - ./LocalSettings.php:/var/www/html/LocalSettings.php
database:
image: mariadb
restart: always
environment:
MYSQL_DATABASE: my_wiki
MYSQL_ROOT_PASSWORD: foo
有几个问题和疑问
为什么我需要 /var/www/html/images
卷?这里存储了什么需要持久化?所有持久化数据都不是数据库的一部分吗?
显然我必须在初始设置后手动下载 LocalSettings.php
并取消注释 LocalSettings.php
卷。必须有更好的方法来自动执行此操作吗?
如何在 Wiki 中配置数据库客户端并告诉它使用什么 IP、用户和密码?我找不到任何关于此的文档。我猜这必须在 LocalSettings.php
内完成?还有一种方法可以在我的 stack.yml
中配置它,这样它就不必单独维护并且可以通过环境变量进行控制(尽管这不是现在最重要的事情)?
- 为什么我需要 /var/www/html/images 卷?这里存储了什么需要持久化?所有持久化数据都不是数据库的一部分吗?
没有。上传的文件(img,以及更多取决于您的本地设置)放在那里。
确保与数据库同时备份它们。
- 显然我必须在初始设置后手动下载 LocalSettings.php 并取消注释 LocalSettings.php 卷。必须有更好的方法来自动执行此操作吗?
我的做法是备份一个全新的设置 wiki 的数据库,然后在启动一个新的 wiki 时将其用作新数据库的主数据库。只要确保您始终使用相同的选项(数据库类型等)即可。
- 如何在 Wiki 中配置数据库客户端并告诉它使用什么 IP、用户和密码?我找不到任何关于此的文档。我猜这必须在 LocalSettings.php 中完成?还有一种方法可以在我的 stack.yml 中配置它,这样它就不必单独维护并且可以通过环境变量进行控制(尽管这不是现在最重要的事情)?
请参阅第 2 点中的答案。如果您自己设置数据库,则自己自动化 LocalSettings.php 比使用向导要容易得多。
尽情享受
我正在努力快速建立自己的 Wiki。
我发现这个 MediaWiki docker image 我可以使用。
我正在使用 Docker Compose,我有以下 stack.yml
文件(基于上面 link 的文件)。
version: '3'
services:
server:
image: mediawiki
restart: always
ports:
- 8080:80
links:
- database
volumes:
- /var/www/html/images
# After initial setup, download LocalSettings.php to the same directory as
# this yaml and uncomment the following line and use compose to restart
# the mediawiki service
# - ./LocalSettings.php:/var/www/html/LocalSettings.php
database:
image: mariadb
restart: always
environment:
MYSQL_DATABASE: my_wiki
MYSQL_ROOT_PASSWORD: foo
有几个问题和疑问
为什么我需要
/var/www/html/images
卷?这里存储了什么需要持久化?所有持久化数据都不是数据库的一部分吗?显然我必须在初始设置后手动下载
LocalSettings.php
并取消注释LocalSettings.php
卷。必须有更好的方法来自动执行此操作吗?如何在 Wiki 中配置数据库客户端并告诉它使用什么 IP、用户和密码?我找不到任何关于此的文档。我猜这必须在
LocalSettings.php
内完成?还有一种方法可以在我的stack.yml
中配置它,这样它就不必单独维护并且可以通过环境变量进行控制(尽管这不是现在最重要的事情)?
- 为什么我需要 /var/www/html/images 卷?这里存储了什么需要持久化?所有持久化数据都不是数据库的一部分吗?
没有。上传的文件(img,以及更多取决于您的本地设置)放在那里。 确保与数据库同时备份它们。
- 显然我必须在初始设置后手动下载 LocalSettings.php 并取消注释 LocalSettings.php 卷。必须有更好的方法来自动执行此操作吗?
我的做法是备份一个全新的设置 wiki 的数据库,然后在启动一个新的 wiki 时将其用作新数据库的主数据库。只要确保您始终使用相同的选项(数据库类型等)即可。
- 如何在 Wiki 中配置数据库客户端并告诉它使用什么 IP、用户和密码?我找不到任何关于此的文档。我猜这必须在 LocalSettings.php 中完成?还有一种方法可以在我的 stack.yml 中配置它,这样它就不必单独维护并且可以通过环境变量进行控制(尽管这不是现在最重要的事情)?
请参阅第 2 点中的答案。如果您自己设置数据库,则自己自动化 LocalSettings.php 比使用向导要容易得多。
尽情享受