当前位置: 首页 > ai >正文

Docker容器部署discuz论坛与线上商城

准备 

关闭防火墙,上下文

[root@docker ~]# systemctl disable --now firewalld[root@docker ~]# setenforce 0

下载应用

yum remove runc -y ### rocky8才需要yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce

添加加速网站

[root@docker ~]# vim /etc/docker/daemon.json[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker

创建专用网络

[root@docker ~]# docker network create --driver bridge --subnet 192.168.200.0/24 ipip

部署discuz论坛

下载

下载镜像

配置文件

创建目录 

 配置 php

编写Dockerfile文件

编写配置文件

(可先做php容器后再写,复制粘贴,再重启)

创建 php镜像

[root@docker php]# docker build -t alpine:php .

生成php容器

[root@docker php]# docker run -itd --name php --network ipip -v /root/discuz/php/conf.d:/etc/php83/php-fpm.d -v /root/discuz/discuz:/var/www/discuz alpine:php

配置nginx

编写Dockerfile文件 

启动文件

编写配置文件

创建nginx镜像 

[root@docker nginx]# docker build -t alpine:nginx .

生成nginx容器

[root@docker nginx]# docker run -itd -v /root/discuz/nginx/conf.d/:/etc/nginx/http.d/ -v /root/discuz/discuz:/var/www/discuz/ -v /root/discuz/nginx/logs:/var/log/nginx  --name=nginx --network ipip -p 80:80 alpine:nginx

查看IP

[root@docker nginx]# docker inspect ac

创建测试文件 

正常解析

配置mysql

编写配置文件

创建Dockerfile文件

创建mysql用户文件

创建 mysql镜像

生成mysql容器

[root@docker mysql]# docker run -itd --name=mysql --network ipip  -v /root/discuz/mysql/data:/var/lib/mysql -v /root/discuz/mysql/conf.d/mysql.conf:/etc/mysql/conf.d/mysql.conf -v /root/discuz/mysql/init.sql:/docker-entrypoint-initdb.d/init.sql -e MYSQL_ROOT_PASSWORD=123.com  mysql:mysql

测试

在访问目录下创建测试文件

正常访问

导入discuz论坛

更改所有者

访问

完成

(加 /upload/ 才能访问)

更改默认访问路径

部署 线上商城

创建存放目录

将线上商城应用放在 shangcheng目录下

下载镜像 

生成测试容器

[root@docker tomcat]# docker run -itd --name tomcat --network ipip -v /root/tomcat/shangcheng/:/usr/local/tomcat/webapps/  --restart=always tomcat:8

 复制server.xml

将配置文件复制到宿主机中  

删除测试容器

移动文件

将线上商城下的   .sql  文件 移动 到 之前mysql挂载的 目录里 ( /root/discuz/mysql/data/ )

[root@docker tomcat]# ls
conf.d  logs  shangcheng
[root@docker tomcat]# cd shangcheng/
[root@docker shangcheng]# cd biyesheji/
[root@docker biyesheji]# ls
注意事项  biyesheji.sql  favicon.ico  images.zip  js   META-INF  WEB-INF
assets    css            images       index.jsp   lib  static
[root@docker biyesheji]# mv  biyesheji.sql /root/discuz/mysql/data/

msyql

mysql> create database biyesheji;
Query OK, 1 row affected (0.055 sec)mysql> create user 'tomcat'@'%' identified by '123.com';
Query OK, 0 rows affected (0.111 sec)mysql> grant all on biyesheji.* to 'tomcat'@'%'; 
Query OK, 0 rows affected (0.006 sec)mysql> exit
Bye

注入数据

bash-5.1# mv /var/lib/mysql/biyesheji.sql  ./
bash-5.1# ls
afs            boot                        etc   lib64  opt   run   sys  var
bin            dev                         home  media  proc  sbin  tmp
biyesheji.sql  docker-entrypoint-initdb.d  lib   mnt    root  srv   usr
bash-5.1# mysql -uroot -p'123.com' biyesheji < ./biyesheji.sql 
mysql: [Warning] Using a password on the command line interface can be insecure.

修改商层配置文件

[root@docker tomcat]# cd shangcheng/
[root@docker shangcheng]# cd biyesheji/
[root@docker biyesheji]# ls
注意事项  css          images      index.jsp  lib       static
assets    favicon.ico  images.zip  js         META-INF  WEB-INF
[root@docker biyesheji]# vim index.jsp 

[root@docker tomcat]# cd  shangcheng/biyesheji/WEB-INF/classes/
[root@docker classes]# vim jdbc.properties 

生成tomcat容器

[root@docker tomcat]# rm -rf logs/*
[root@docker tomcat]# docker run -itd   --name tomcat   --network ipip  -p 8080:8080   -v /root/tomcat/shangcheng/:/usr/local/tomcat/webapps/   -v /root/tomcat/conf.d/server.xml:/usr/local/tomcat/conf/server.xml   -v /root/tomcat/log/:/usr/local/tomcat/logs/   --restart=always   tomcat:8 

查看IP

[root@docker classes]# docker inspect 5e

访问成功

[root@docker ~ ]# curl 192.168.200.5:8080/biyesheji/fore/foreIndex/
[root@docker ~ ]# curl 192.168.11.82:8080/biyesheji/fore/foreIndex/

http://www.xdnf.cn/news/17272.html

相关文章:

  • Uber的MySQL实践(一)——学习笔记
  • python学智能算法(三十五)|SVM-软边界拉格朗日方程乘子非负性理解
  • token过期为了保证安全,refresh token不过期,那么拿到refresh token就可以获取token,不还是不安全吗
  • Java基础-模拟多线程安全问题场景
  • 开发板RK3568和stm32的异同:
  • 深入理解 SwiftUI 布局:VStack、HStack 和表单控件全解析
  • 关于数据结构6-哈希表和5种排序算法
  • 【Spring Boot 快速入门】八、登录认证(一)基础登录与认证校验
  • 数据结构:哈希表、排序和查找
  • F I R S T Q U A R T E R 2 0 2 5 - - M a y 2 2 2 0 2 5
  • LINUX88 变量:命令定义;普通数组定义(复);declare -i /-x
  • 【其他分类】Showrunner AI版的Netflix 互动故事创作平台 进行动画生成与微调、角色场景创建
  • MySQL的触发器:
  • 温室韭菜收割机的设计cad【12张】三维图+设计说明书
  • 9:USB摄像头的最后一战(上):MP4音视频合封!
  • Redis(九):Redis高并发高可用(集群Cluster)
  • Javascript中的一些常见设计模式
  • react+echarts实现变化趋势缩略图
  • Elasticsearch:在向量搜索中使用 Direct IO
  • 富士 Instax 12 和 Instax Mini 11 有什么区别?推荐购买哪一款?
  • Microsoft Dynamics AX 性能优化解决方案
  • 【Python-Day 38】告别通用错误!一文学会创建和使用 Python 自定义异常
  • 临床医学 RANDOM SURVIVAL FORESTS(randomSurvivalForest)-2 python 例子
  • 【GPT-OSS 全面测评】释放推理、部署和自主掌控的 AI 新纪元
  • Redis对象编码
  • 微算法科技(NASDAQ:MLGO)使用循环QSC和QKD的量子区块链架构,提高交易安全性和透明度
  • 如何 让ubuntu 在root 下安装的docker 在 普通用户下也能用
  • 基于大数据的地铁客流数据分析预测系统 Python+Django+Vue.js
  • element plus table 表格操作列根据按钮数量自适应宽度
  • 并发编程(五)ThreadLocal