組成:php7+mysql5.7+xiunobbs4.04+nginx
1 Pull鏡像
docker pull nginx
docker pull docker.io/centos/mysql-57-centos7
docker pull docker.io/php:7.1.0-fpm
2 運行mysql容器
創建存儲路徑
mkdir /data/mysql57_bbs
chcon -Rt svirt_sandbox_file_t /data/mysql57_bbs
創建:
docker run -d --name bbs_mysql57 -v /data/mysql57_bbs:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 docker.io/centos/mysql-57-centos7
3 下載xiubobbs到文件夾/data/xiunobbs4
git clone https://gitee.com/xiuno/xiunobbs
設置權限
chcon -Rt svirt_sandbox_file_t /data/xiunobbs4/xiunobbs
chmod -R 0777 /data/xiunobbs4/xiunobbs/upload
chmod -R 0777 /data/xiunobbs4/xiunobbs/plugin
chmod -R 0777 /data/xiunobbs4/xiunobbs/tmp
chmod -R 0777 /data/xiunobbs4/xiunobbs/log
chmod -R 0777 /data/xiunobbs4/xiunobbs/conf
4 運行php容器
docker run --name bbs_php7 --privileged=true -v /data/xiunobbs4/xiunobbs:/www -d docker.io/php:7.1.0-fpm
5 運行Nginx容器
配置nginx配置文件同時掛載php:
mkdir /data/nginx/bbs_php_conf.d
vim /data/nginx/bbs_php_conf.d/nginx.conf
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
include fastcgi_params;
}
}
創建Nginx容器:
docker run --name bbs_nginx -p 8084:80 --privileged=true -d \
-v /data/xiunobbs4/xiunobbs:/usr/share/nginx/html:ro \
-v /data/nginx/bbs_php_conf.d:/etc/nginx/conf.d:ro \
--link bbs_php7:php \
nginx
6 訪問:
http://192.168.50.155:8084/install
以上IP地址具體參考主機的IP地址。
在數據庫配置頁面會出現“當前PHP環境不支持mysql和pdo_mysql,無法繼續安裝”如下問題:
這是因爲php鏡像中沒有mysql相關鏈接庫,因此需要在php容器中安裝pdo和pdo_mysql。
7 進入php容器進行設置
首先進入php容器:
docker exec -it bbs_php7 /bin/bash
然後安裝pdo和pdo_mysql:
docker-php-ext-install pdo pdo_mysql
exit
然後重啓容器(注意是重啓,docker新手千萬別搞錯了,不是刪除php容器或重新創建一個容器,是重啓,否則剛纔的安裝就無效):
docker restart bbs_php7
8 進入繼續配置數據庫:
安裝成功pdo和pdo_mysql後,數據庫設置頁面如下:
點擊下一步可能出現如下圖所示錯誤信息:
如出現如上圖情況,請將主機的防火牆關閉再試,另外Docker不同容器間不能用127.0.0.1,可以直接用IP代替,如下圖所示:
點擊下一步,出現如下圖所示即爲安裝成功:
論壇安裝後初始界面如下:
注:安裝MySQL8會由於密碼驗證方式變化會出現類似“SQLSTATE[HY000] [2054] The server requested authentication method unknown to”等問題,參考以下方案進行解決,但是建議還是採用MySQL57: