Docker前后端项目部署

news2025/1/22 11:13:04

目录

一、搭建项目部署的局域网

二、redis安装

三、MySQL安装

四、若依后端项目搭建

4.1 使用Dockerfile自定义镜像

五、若依前端项目搭建


一、搭建项目部署的局域网

搭建net-ry局域网,用于部署若依项目

docker network create net-ry --subnet=172.68.0.0/16 --gateway=172.68.0.1

# 注意1:关闭宿主机的防火墙,否者容器内部的MySQL、redis等服务,外部访问不了;开放端口3306、6379端口也没用。
systemctl status firewalld

# 注意2:关闭防火墙后必须重启docker,否者出现如下错误
docker: Error response from daemon: driver failed programming external connectivity on endpoint ruoyi-admin (399a34630e6ef8e4ed7cf20d46b9654c8d535d0fe44ceadebf8bd605d3da35b8):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8080 -j DNAT --to-destination 172.68.0.4:8080 ! -i br-c34635070c6f: iptables: No chain/target/match by that name.

关闭防火墙

systemctl stop firewalld

 关闭防火墙,一定要记得重启否则后面制作自定义镜像会报错

systemctl restart docker

二、redis安装

#创建目录
mkdir -p /data/redis/{conf,data}
#上传redis.conf文件到/data/redis/conf文件夹中
# bind 0.0.0.0 充许任何主机访问
# daemonize no 
# requirepass sasa

把以下代码copy到/data/redis/conf下运行

#启动容器不进入容器,取了个名字zking-redis,映射了端口署主机6379端口映射到容器
#做了一个挂载,把我们署主机的redis配置文件,映射到容器内部的redis配置文件
#redis缓存数据,署主机的redis data 映射到容器redis data文件
#给予容器的root最高权限,docker引擎启动
#把zking 加入到net-ry局域网中
#容器会执行的一个命令,读取redis配置文件

docker run -itd --name zking-redis -p 6379:6379 \
-v /data/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /data/redis/data:/data \
--privileged=true --restart=always \
--network net-ry redis \
redis-server /etc/redis/redis.conf 

三、MySQL安装

# 1.创建文件夹
mkdir -p /data/mysql/{conf,data}
# 2.上传my.cnf文件到/data/mysql/conf文件夹中 (可以将my2.cnf修改好在Linux中重命名为my.cnf)
mv my2.cnf my.cnf

# 3.启动MySQL容器服务
docker run -d --name zking-mysql --network net-ry  \
-v /data/mysql/conf/my.cnf:/etc/my.cnf \
-v /data/mysql/data:/var/lib/mysql \
--privileged=true --restart=always \
-e MYSQL_ROOT_PASSWORD=sasa -p 3306:3306 \
mysql/mysql-server:5.7

进入容器

docker exec -it zking-mysql /bin/bash

 登录

#登录
mysql -u root -p;
输入密码:
sasa
# 创建用户及授权
grant all privileges on *.* to root@'%' identified by 'sasa' with grant option;
# 刷新权限
flush privileges; 

外部访问

#登录到控制台
mysql -u root -p
#执行sql
source sql文件全路径

注意!:博主使用的是外部工具navicat,进行导入的数据

四、若依后端项目搭建

4.1 使用Dockerfile自定义镜像

1.构建Dockerfile镜像 

1)切换到家目录
cd ~
mdkir ruoyi-admin
cd ruoyi-admin

上传jar文件

上传文件:Dockerfile_ruoyi-admin 2)编写Dockerfile文件内容

vim Dockerfile_ruoyi-admin 

#把以下代码放到Dockerfile_ruoyi-admin
FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER "donkee@vip.qq.com"
ADD ruoyi-admin.jar /opt/app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/opt/app.jar"]

3)上传ruoyi-admin.jar到Dockerfile_ruoyi-admin文件所在目录

4)ruoyi-admin为镜像名称,开始制作镜像

mv Dockerfile_ruoyi-admin Dockerfile
#构建镜像
docker build -t ruoyi-admin .

运行容器

docker run -itd --name ruoyi-admin --network net-ry -p 8080:8080  ruoyi-admin

 可以去 cd /home/ruoyi/logs 查看我们的日志错误

我们去访问一下,看一下后端项目是否部署成功

五、若依前端项目搭建

5.1 nginx

 1.创建目录

mkdir -p /data/nginx/{conf,html}

2.上传nginx.conf至/data/nginx/conf文件夹中 

 3.运行启动容器

docker run -itd --name zking-nginx --network net-ry -p 80:80 \
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/nginx/html:/usr/share/nginx/html \
--privileged=true --restart=always \
nginx

 把我们前端项目放到,/data/nginx/html

解压

#没有解压工具 yum install -y unzip
unzip dist.zip

解压完后,我们去浏览器上登录,可以看到没有问题,今天就到这里啦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1495660.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络安全审计是什么意思?与等保测评有什么区别?

网络安全审计和等保测评在信息安全领域中都是非常重要的环节。但不少人对于这两者是傻傻分不清楚,今天我们就来简单聊聊网络安全审计是什么意思?与等保测评有什么区别? 网络安全审计是什么意思? 网络安全审计是通过对网络系统和网…

python 蓝桥杯填空题

文章目录 字母数判断列名(进制问题)特殊日期大乘积星期几 字母数 由于是填空题,那么寻找的话,就直接让每一个位置都是A,通过计算看看是不是结果大于2022即可 判断列名(进制问题) 这道题目,我们可…

Linux篇:基础IO

一 预备知识 1. 文件内容属性,内容与属性都是数据,都要在磁盘中保存。 2. 文件分为打开的文件和没打开的文件。 3. 进程在访问一个文件的时候,都是要先打开这个文件。打开文件之前,文件在磁盘,打开文件之后&#xff0…

RocketMQ架构详解

文章目录 概述RocketMQ架构Broker 高可用集群刷盘策略 概述 RocketMQ一个纯java、分布式、队列模型的开源消息中间件,前身是MetaQ,是阿里研发的一个队列模型的消息中间件,后开源给apache基金会成为了apache的顶级开源项目,具有高…

Mybatis-Spring | Mybatis与Spring的“整合“

目录 : 一、配置环境1. 整合环境需导入的JAR :Spring框架所需JARMybatis框架所需JARMyBatis与Spring整合的中间JAR数据库驱动JAR包数据源所需JAR包 (下面的例子中 : 用的不是这个数据源) 2. 编写“配置文件” 和 “.properties文件” ( 只是概述&#xf…

mysql从旧表 取出部分列并保存到新表几种方式介绍

在MySQL中,从旧表取出部分列并保存到新表有多种方式,主要包括以下几种: 1. 使用INSERT INTO ... SELECT语句: 这是最常用的方法。通过SELECT语句从旧表中选择需要的数据,然后使用INSERT INTO语句将数据…

【PHP】PHP通过串口与硬件通讯,向硬件设备发送数据并接收硬件返回的数据

一、前言 之前写过两篇PHP实现与硬件串口交互的文章,一篇是【PHP】PHP实现与硬件串口交互,接收硬件发送的实时数据(上)_php串口通信-CSDN博客,另一篇是【PHP】PHP实现与硬件串口交互,向硬件设备发送指令数…

Vue3+Vue Router使用<transition>过渡动画实现左右分栏后台布局

摘要 利用Vue3及其配套的Vue Router实现后台管理系统中的页面过渡动画。文章首先简要介绍了Vue3的特性和Vue Router的基本用法,利用Vue3提供的组件以及Vue Router的路由钩子函数来实现页面过渡效果。 代码结构 在 components 里有4个组件,其中 Layout…

HTTPS是什么,那些行业适合部署呢?

随着在线活动的增加,对您共享的关键数据的威胁已经产生了严重的后果,包括欺诈性金融交易、在线身份盗窃等。此外,随着技术使用的增加,网络攻击也变得更加复杂和具有挑战性。 毫无疑问,互联网用户的数据安全意识成倍增长…

(学习日记)2024.03.06:UCOSIII第八节:空闲任务+阻塞延时+main函数修改

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

uniapp小程序获取位置权限(不允许拒绝)

需求 小程序上如果需要一些定位功能,那么我们需要提前获取定位权限。我们页面的所有功能后续都需要在用户同意的前提下进行,所以一旦用户点了拒绝,我们应该给予提示,并让用于修改为允许。 实现 1.打开手机GPS 经过测试发现即使…

第102讲:MySQL多实例与Mycat分布式读写分离的架构实践

文章目录 1.Mycat读写分离分布式架构规划2.在两台服务器中搭建八个MySQL实例2.1.安装MySQL软件2.2.创建每个MySQL实例的数据目录并初始化2.3.准备每个实例的配置文件2.4.准备每个实例的启动脚本2.6启动每台机器的MySQL多实例2.7.为每个MySQL实例设置密码2.8.查看每个MySQL实例的…

2024三掌柜赠书活动第十三期:API安全技术与实战

目录 前言 API安全威胁与漏洞 API安全技术与实践 API安全实战案例 关于《API安全技术与实战》 编辑推荐 内容简介 作者简介 图书目录 书中前言/序言 《API安全技术与实战》全书速览 结束语 前言 随着互联网的快速发展和应用程序的广泛使用,API&#xff…

excel统计分析——正交设计

参考资料:生物统计学 单因素试验通常采用完全随机设计活动随机区组设计;两因素试验通常采用析因设计;多因素试验不考虑因素间的互作时,可以采用拉丁方设计或正交拉丁方设计;需要考虑因素间的互作时,析因设计…

手回科技:人生的“小雨伞”,能否撑起自己的增长路?

有道是一年之计在于春。新年伊始,多家券商发布研报表达了对2024年保险市场表现的观点。 比如,开源证券表示,政策组合拳带来beta催化,保险业务端和弹性占优;中国银行证券指出,2024年,保险行业景…

HarmonyOS应用开发-使用Local Emulator运行应用/服务(使用本地模拟器)

1、单击File > Settings > SDK,下拉框选择HarmonyOS,勾选并下载Platforms下的System-image和Tools下的Emulator资源。 点击ok,等待安装完成 2、单击菜单栏的Tools > Device Manager,在Local Emulator页签,…

百度给程序员发放京东购物卡,注册即送30元购物卡

活动真实有效: 添加图片注释,不超过 140 字(可选)https://comate.baidu.com/?inviteCodeexf818mt 活动参与流程说明:点击下面的邀请链接进行登陆,注意一定要邀请链接,因为通过链接注册可以获…

300分钟吃透分布式缓存-20讲:Redis如何处理文件事件和时间事件?

Redis 事件驱动模型 事件驱动模型 Redis 是一个事件驱动程序,但和 Memcached 不同的是,Redis 并没有采用 libevent 或 libev 这些开源库,而是直接开发了一个新的事件循环组件。Redis 作者给出的理由是,尽量减少外部依赖&#xff…

【Java】关于ZooKeeper的原理以及一致性问题,协议和算法和ZooKeeper的理论知识和应用 场景

1. 目录 目录 1. 目录 2. 什么是ZooKeeper 3. 一致性问题 4. 一致性协议和算法 4.1. 2PC(两阶段提交) 4.2. 3PC(三阶段提交) 4.3. Paxos 算法 4.3.1. prepare 阶段 4.3.2. accept 阶段 4.3.3. paxos 算法的死循环…

2024年阿里云2核4G服务器租用价格_2核4G性能测评_支持人数

阿里云2核4G服务器多少钱一年?2核4G配置1个月多少钱?2核4G服务器30元3个月、轻量应用服务器2核4G4M带宽165元一年、企业用户2核4G5M带宽199元一年。可以在阿里云CLUB中心查看 aliyun.club 当前最新2核4G服务器精准报价、优惠券和活动信息。 阿里云官方2…