当前位置: 首页 > 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.dtcms.com/a/320756.html

相关文章:

  • 项目一系列-第2章 Git版本控制
  • 05--STL认识(了解)
  • 静态与动态住宅代理IP的技术差异和技术详解
  • Pytest项目_day09(skip、skipif跳过)
  • oracle-plsql理解和操作
  • 有鹿机器人:如何用±2cm精度重塑行业标准?
  • Function + 异常策略链:构建可组合的异常封装工具类
  • 机械学习--SVM 算法
  • 【Leetcode Hot 100 题目精华解析2025】python自用 --128.最长连续序列
  • 腾讯前端面试真题
  • Kafka生产者事务机制原理
  • Java集合中的链表
  • 解耦主库负载,赋能数据流转:MySQL Binlog Server 核心指南
  • Web 图像捕获革命:ImageCapture API 全面解析与实战指南
  • mt6897 scp a+g sh5201 porting记录
  • 数据结构:哈希表、排序和查找
  • 光子精密3D工业相机的应用与优势解析
  • CS231n2017 Assignment3 PyTorch部分
  • 代理模式在C++中的实现及面向对象设计原则的满足
  • 利用哥斯拉(Godzilla)进行文件上传漏洞渗透实战分析
  • ​「解决方案」Linux 无法在 NTFS 硬盘上创建文件/文件夹的问题
  • C++多态与虚函数的原理解析
  • MySQL的触发器:
  • 虹科技术分享 | LIN总线译码功能与LIN控制交流发电机(二)
  • 灌区信息化智能管理系统解决方案
  • 计算机视觉CS231n学习(5)
  • AI开发平台行业全景分析与战略方向建议
  • C++归并排序
  • 使用 Python GUI 工具创建安全的密码短语
  • tmi8150b在VM=3.3v电压下,如何提高转速,记录