GitHub - mondediefr/docker-flarum: Docker image of Flarum
用docker快速搭建flarum论坛_docker flarum_一只渣渣程序猿的博客-CSDN博客
第一个参考就是这次用的docker镜像的文档,第二个是看到的文章,docker学习,新手记录一些心得。
这里只是对流程的大概步骤和遇到的细节补充。
1.安装docker 和docker-compose
2.拉取镜像:
docker pull mondedie/flarum:latest
注意这里拿的是最新的,但是可能最新的插件并不全,到时候使用可能会有问题,推荐先下载稳定的:
docker pull mondedie/flarum:stable
其实也无所谓,毕竟docker容器删除和新建太简单了。
3.接着主题开始:
首先新建一个文件夹,然后cd 进去,这个文件夹来保存额外的信息。
新建docker-compost.yml:
version: "3"
services:
flarum:
image: mondedie/flarum:stable
container_name: flarum
env_file:
- ./flarum.env
volumes:
- ./assets:/flarum/app/public/assets
- ./extensions:/flarum/app/extensions
- ./logs:/flarum/app/storage/logs
- ./nginx:/etc/nginx/flarum
ports:
- 8000:8888
depends_on:
- mariadb
mariadb:
image: mariadb:10.5
container_name: mariadb
ports:
- 3306:3306
environment:
- MYSQL_ROOT_PASSWORD=123456
- MYSQL_DATABASE=flarum
- MYSQL_USER=flarum
- MYSQL_PASSWORD=123456
volumes:
- ./db:/var/lib/mysql
这里可以简单看到,我将docker中需要映射的内容都放在了相对路径,即你当前的路径。
注意github中没有写3306:3306的映射,没有的话,flarum是读取不到数据库的。
接着新建flarum.env:
DEBUG=false
FORUM_URL=http://127.0.0.1:8000
# Database configuration
DB_HOST=mariadb
DB_NAME=flarum
DB_USER=flarum
DB_PASS=123456
DB_PREF=flarum_
DB_PORT=3306
# User admin flarum (environment variable for first installation)
# /!\ admin password must contain at least 8 characters /!\
FLARUM_ADMIN_USER=admin
FLARUM_ADMIN_PASS=123456789a
FLARUM_ADMIN_MAIL=admin@domain.tld
FLARUM_TITLE=myflarum
然后就可以启动了:
docker-compose up -d mariadb
# Wait a moment for the creation of the database
docker-compose up -d flarum
这里如果你没有安装mariadb的dcoker,这里会自动下载安装。然后你就可以通过本机来进行访问127.0.0.1:8000。
但是你想换一台电脑,远程局域网访问,如192.168.1.22:8000之类的,是会反馈报错的。
所以你可能需要删除上面的:
FORUM_URL=http://127.0.0.1:8000
改为其他的:
FORUM_URL=http://192.168.1.22:8000
又或者是你已经映射好的网址:
FORUM_URL=http://myform.cvip.com
docker中的flarum内部似乎进行了判断和筛选。
4.拓展插件安装
格式如下:
简单的三个插件,中文和中文搜索和图片上传。
docker exec -ti flarum extension require flarum-lang/chinese-simplifie
docker exec -ti flarum extension require ganuonglachanh/flarum-ext-search
docker exec -ti flarum extension require fof/upload
该命令实际上就是进入容器中调用该容器已经写好的extension脚本,来进行安装插件。体验相当舒服。
体会:使用docker-compose的体验真是相当好,具体是怎么做出这样容易部署的内容的,还是需要学习的。