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

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.lryc.cn/news/614287.html

相关文章:

  • Centos7升级redis
  • springboot读取编译时传递的参数
  • Spring AI 系列之四十 - Spring AI Alibaba-集成百炼智能体
  • 用browse实现菜单功能的方法
  • 《在 Spring Boot 中安全使用 Qwen API-KEY:环境变量替代明文配置的最佳实践》
  • 一文可视化分析2025年6月计算机视觉顶刊IJCV前沿热点
  • 数据结构(16)排序(上)
  • 代理模式在C++中的实现及面向对象设计原则的满足
  • vscode无法跳转到定义引用
  • 以下是使用这款ePub编辑器将指定章节转换为TXT文本文档的操作方法
  • JAVA基础-NIO
  • flutter TLS protocol versions: (TLSv1.2, TLSv1.3)
  • 【数据结构】排序(sort) -- 计数排序
  • 在 Elasticsearch/Kibana (ELK Stack) 中搜索包含竖线 (|)​​ 这类特殊字符的日志消息 (msg 字段) ​确实需要转义
  • 软件包管理、缓存、自定义 YUM 源
  • Vulnhub drippingblues 靶场复现 详细攻略
  • 强光干扰下误报率↓82%!陌讯多模态融合算法在高空抛物检测的实战优化
  • 自适应反步控制:理论与设计
  • 分布式微服务--GateWay的断言以及如何自定义一个断言
  • MySQL 配置性能优化赛:核心策略与实战技巧
  • 分布式系统性能优化实战:从瓶颈定位到架构升级
  • 前端后端之争?JavaScript和Java的特性与应用场景解析
  • Microsoft Dynamics AX 性能优化解决方案
  • 用JOIN替代子查询的查询性能优化
  • 深入解析基于Zookeeper分布式锁在高并发场景下的性能优化实践指南
  • DataFun联合开源AllData社区和开源Gravitino社区将在8月9日相聚数据治理峰会论坛
  • AI漫画翻译器-上传图片自动翻译,支持多语言
  • 分享超图提供的、很不错的WebGIS学习资源
  • 从安卓兼容性困境到腾讯Bugly的救赎:全链路崩溃监控解决方案-卓伊凡|bigniu
  • 什么是局放?局放在线智能传感器,敏锐洞察电气设备中的隐形故障!