操作環境與相關配置信息
操作環境
- 操作系統
[root@master apps]# cat /proc/version
Linux version 5.2.2-1.el7.elrepo.x86_64 (mockbuild@Build64R7) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)) #1 SMP Sun Jul 21 04:19:28 EDT 2019
- MySQL軟件版本
MySQL-5.7
- MediaWiki軟件版本
mediawiki-1.34
配置信息
- 獲取當前文件所在路徑
[root@master mediawiki]# $PWD
-bash: /var/apps/mediawiki: 是一個目錄
- MySQL的工作空間
/var/lib/mysql
- MediaWiki的官方鏡像地址
- MediaWiki的工作空間
/var/www/html
軟件安裝
運行MediaWiki容器
拉取鏡像
docker pull mediawiki:1.34
運行MediaWiki容器
docker run --name some-mediawiki -p 8080:80 -d mediawiki:1.34
MediaWiki的訪問地址爲:
http://localhost:8080/
其訪問界面爲:
在其首頁的提示信息中,我們可以看到,在使用MediaWiki前,我們需要對其進行配置,這裏我們選擇的是使用MySQL數據庫存儲MediaWiki數據,因而我們需要配置MySQL的相關信息。
運行MySQL
由於這裏需要用到MySQL數據庫,因而我們需要先創建一個MySQL的容器,該容器我是使用shell腳本進行編寫的,其創建腳本如下:
#!/bin/bash
cur_dir=`pwd`
docker stop mysql
docker rm mysql
docker run --name mysql -v ${cur_dir}/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 --default-authentication-plugin=mysql_native_password --lower-case-table-names=1
在上面的指令中,其含義如下:
MySQL數據庫:5.7
賬號:root
密碼:root
端口號:3306
數據表表名小寫
使用MediaWiki連接MySQL
在確定MySQL運行無誤後,接下來就是使用MediaWiki連接MySQL了,刪掉剛纔創建的MediaWiki容器,然後使用下面的指令創建新的容器:
docker run -dit --name mywiki -p 8080:80 --privileged=true --restart=always --link mysql:mysql mediawiki:1.34
再次訪問http://localhost:8080/
地址,此時我們得到如下頁面:
點擊上圖中的鏈接,此時我們可以看到如下信息:
點擊【繼續】,進入如下頁面:
點擊【繼續】,我們進入下面的MySQL配置頁面
在上面輸入MySQL的IP地址,數據庫的名稱(由於我之前已經操作過一次,所以說數據庫與裏面的數據都是現成的)用戶名以及密碼,點擊【繼續】,進入如下頁面:
點擊上圖中的【重新生成LocalSettings.php】連接,進入如下頁面
點擊【繼續】,進入wiki工作空間配置頁面
我們可以按照上圖中的配置,進行相應的填寫。填寫完畢後,直接點擊【繼續】,進入LocalSettings.php下載頁面。
LocalSettings.php屬於MediaWiki的配置文件,我們只有將該配置文件放入MediaWiki的工作空間中,其配置纔會生效,由於我們之前已經得知了MediaWiki的工作空間地址,所以說我們可以執行如下指令:
docker cp LocalSettings.php mywiki:/var/www/html/
之後我們可以訪問如下地址:
http://192.168.75.130:8080/index.php/%E9%A6%96%E9%A1%B5
其界面展示如下:
使用docker-compose
爲了將MediaWiki中的數據長效保存,使其不至於由於容器的刪除而數據丟失,因而我們需要將MediaWiki容器中的工作空間拷貝到本地目錄中。
docker cp mywiki:/var/www/html /var/apps/mediawiki/data
由於我主要是通過docker-compose來安裝,因而此處我直接將本地的docker-compose公佈如下:
version: '3'
services:
# 數據庫
mediawiki-mysql-service:
image: mysql:5.7
container_name: mediawiki-mysql-service
volumes:
- $PWD/mysql/data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
TZ: Asia/Shanghai
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_unicode_ci
--default-authentication-plugin=mysql_native_password
--lower-case-table-names=1
--default-time_zone='+8:00'
--explicit_defaults_for_timestamp=true
# mediawiki服務
mediawiki-service:
image: mediawiki:1.34
links:
- mediawiki-mysql-service
container_name: mediawiki-service
volumes:
- $PWD/data:/var/www/html
ports:
- 12001:80
restart: always
之後通過如下指令啓動項目即可:
docker-compose up