Centos7使用docker详细部署discuz社区网站

本文分三部分,安装docker、部署discuz社区网站、安装mysql。

一、安装docker

1.首先安装其它工具:

[root@test02 ~]# yum -y install gcc gcc-c++ yum-utils

2.安装完工具后配置stable镜像仓库

[root@test02 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.更新yum软件包索引

[root@test01 ~]# yum makecache fast

注意:如果安装配置stable镜像仓库报错,则要配置yum源,可参考:

[root@test01 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@test01 ~]# yum clean all  #清除所有
[root@test01 ~]# yum makecache #重新建立源数据
[root@test01 ~]# yum update

4.安装docker工具,不指定版本就是安装最新版

[root@test01 ~]# yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

5.启动docker,并设置开机自启

#启动docke
[root@test01 ~]# systemctl start docker
[root@test01 ~]# systemctl enable docker

6.查看是否启动成功,也可以使用docker ps命令 

查看是否启动成功
[root@test01 ~]# ps -ef|grep docker

7.设置阿里的镜像加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://o9pi04r6.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

至此,docker成功安装。 

二、部署discuz

1.查找是否有discuz镜像

[root@test02 ~]# docker search discuz
NAME                                 DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
tencentci/discuz               每月或周构建腾讯旗下最新Discuz3.5+,并同步更… 
discuzamoy/jd_scripts          discuzamoy/jd_scripts:latest  
locoz666666/discuz-x           Discuz X 容器镜像每日自动构建(基于官方Gitee… 
cloud96/discuz                 基于Docker技术,一键安装 Discuz 最新版(X3.4)… 

2.拉取并运行discuz镜像,运行镜像时,有docker参数 --restart=always 表示启动docker时会同时启动容器,docker run容器之后,浏览器访问自己服务器ip到达论坛安装页面,但填写信息下一步时会提示报错,需要下面的步骤配置myslq权限。

[root@test02 ~]# docker pull tencentci/discuz
[root@test02 ~]# docker run -p 80:80 -d  --restart=always tencentci/discuz

3.查看是否有php镜像

[root@test02 ~]# docker search php

4.拉取php镜像

[root@test02 ~]# docker pull php

5.最后查看有哪些拉取的镜像

[root@zzz ~]# docker images

三、安装mariadb-server,并修改为discuz访问的权限

1.安装mariadb-server

[root@test02 ~]# yum install mariadb-server -y

2.启动mariadb服务

[root@test02 ~]# systemctl start mariadb

3.新建数据库和配置权限

#Mysql安全启动配置向导——mysql_secure_installation(生产环境必做的设置)
[root@zzz ~]# mysql_secure_installation
Set root password? [Y/n]                      - 为root用户设置密码
Remove anonymous users? [Y/n]                 - 删除匿名账号
Disallow root login remotely? [Y/n]           - 取消root用户远程登录
Remove test database and access to it? [Y/n]  - 删除test库和对test库的访问权限
Reload privilege tables now? [Y/n]            - 刷新授权表使修改生效

#用root用户的身份进入数据库,输入自己设置的密码 admin123
[root@zzz ~]# mysql -u root -padmin123
MariaDB [(none)]> show databases;  #查看现有数据库
MariaDB [(none)]> create database discuz;  #创建一个数据库 discuz
MariaDB [(none)]> show databases;  #查看现有数据库
到此打开网页,创建数据库,输入基本信息,输入完成后点击下一步跳转页面,显示“不允许访问”。
回到命令行,查看docker容器的tencentci/discuz的主机名
[root@test02 ~]# docker exec 容器的NAMES hostname -I
#进入myql,在mysql 8.0以后,authentication_string字段替代了之前的password字段(估计报错就是版本的问题了)
[root@zzz ~]# mysql -uroot -padmin123 
MariaDB [(none)]> grant all on *.* to 'root@%' identified by 'admin123' ;
MariaDB [(none)]> use mysql
MariaDB [mysql]> show tables ;
MariaDB [mysql]> select host,user,password from user ;
MariaDB [(none)]> flush privileges;  #刷新权限表
MariaDB [(none)]> exit
#退出再次进入修改权限ip为自己服务器ip 38.60.28.59 ,并修改访问root权限
[root@zzz ~]# mysql -uroot -padmin123
MariaDB [(none)]> use mysql
MariaDB [mysql]> grant all on *.* to root@'38.60.28.59' identified by 'admin123' ;
MariaDB [mysql]> update user set user="root" where host='%';
MariaDB [mysql]> select user,host,password from user;
+------+-----------------+-------------------------------------------+
| user | host            | password                                  |
+------+-----------------+-------------------------------------------+
| root | localhost       | *2E959EACF66183C8645178056D6A0252E29D29B2 |
| root | 127.0.0.1       | *2E959EACF66183C8645178056D6A0252E29D29B2 |
| root | ::1             | *2E959EACF66183C8645178056D6A0252E29D29B2 |
| root | 192.168.71.59   | *2E959EACF66183C8645178056D6A0252E29D29B2 |
| root | %               | *2E959EACF66183C8645178056D6A0252E29D29B2 |
+------+-----------------+-------------------------------------------+
MariaDB [mysql]> flush privileges;
MariaDB [(none)]> show databases;
MariaDB [(none)]> exit

最后再次打开网页,创建数据库,输入基本信息,输入完成后点击下一步跳转页面,显示成功设置;discuz后台管理,发现报错要删除一些index.php文件,照着提示删除index.php文件就可以打开后台管理页面。

至此完成使用docker部署。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值