Docker-部署若依项目

文章目录

  • 后端
    • 一、搭建局域网
    • 二、redis安装
      • 测试
    • 三、MySQL安装
    • 四、后端项目放入位置及使用Dockerfile自定义镜像
      • 后端项目放入位置
  • 前端配置
    • 检查各个端口是否启动
    • nginx部署

首先得先把内部的文件给删除清空

docker images–查看有哪些文件
docker rmi -f ID–删除ID
在这里插入图片描述

后端

一、搭建局域网

【都是在root的~目录下进行的】
--搭建net-ry局域网,用于部署若依项目
docker network create net-ry --subnet=172.68.0.0/16 --gateway=172.68.0.1

--局域网的查看
docker network ls

# 注意1:关闭宿主机的防火墙,否则容器内部的MySQL、redis等服务,外部访问不了;开放端口3306、6379端口也没用
--查看防火墙状态
systemctl status firewalld
--停止防火墙
systemctl stop 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.

--重启docker
systemctl restart docker

二、redis安装

--创建两个目录
mkdir -p /data/redis/{conf,data}
 
--进入到redis这个目录下
cd /data/redis/
--查看是否创建成功{conf,data}这两个文件
ll
--进入conf目录中放置redis.conf文件
cd  conf

在这里插入图片描述
把redis.conf文件放入conf目录中
在这里插入图片描述

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 

在这里插入图片描述

测试

方式一:

#进入容器
[root@localhost conf]# docker exec -it zking-redis /bin/bash
 
root@ec98cd3af83e:/data#  whereis redis-cli
redis-cli: /usr/local/bin/redis-cli
root@ec98cd3af83e:/data# cd /usr/local/bin
root@ec98cd3af83e:/usr/local/bin# ls
docker-entrypoint.sh  redis-benchmark  redis-check-rdb  redis-sentinel
gosu                  redis-check-aof  redis-cli        redis-server
root@ec98cd3af83e:/usr/local/bin# redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> exit【ctrl+d】
 
 --退出可以按 Ctrl+d

在这里插入图片描述
方式二:
在这里插入图片描述

三、MySQL安装

#退出程序
exit
 
#退出容器
Ctrl+P+Q
 
# 1.创建文件夹
mkdir -p /data/mysql/{conf,data}

在这里插入图片描述

#进入conf
cd  /data/mysql/conf/
 
# 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 ps

在这里插入图片描述
远程连接

 
# 进入容器
docker exec -it zking-mysql /bin/bash
 
# 登录
mysql -u root -p;
 
# 创建用户及授权
grant all privileges on *.* to root@'%' identified by 'sasa' with grant option;
 
# 刷新权限
flush privileges; 

在这里插入图片描述
工具测试
在这里插入图片描述

四、后端项目放入位置及使用Dockerfile自定义镜像

后端项目放入位置

# 1.构建Dockerfile镜像
1)切换到家目录
cd ~
 
#新建文件夹
mkdir ruoyi-admin
 
#切进去
cd ruoyi-admin
 
2)上传ruoyi-admin.jar到Dockerfile_ruoyi-admin文件所在目录
 

在这里插入图片描述
在这里插入图片描述

#重命名
mv Dockerfile_ruoyi-admin Dockerfile
 
4)ruoyi-admin为镜像名称,开始制作镜像
docker build -t ruoyi-admin .

查看自己做的镜像

docker images

在这里插入图片描述

docker images
 
#运行容器
docker run -itd --name ruoyi-admin --network net-ry -p 8080:8080  ruoyi-admin
 
docker ps
 
#进入容器
docker exec -it ruoyi-admin /bin/bash
 
#查看日志
cd /home/ruoyi/logs/
 
ls -l

在这里插入图片描述

最后,下列就是后台配置好了
在这里插入图片描述

前端配置

检查各个端口是否启动

  • docker ps
  • docker ps -a
    在这里插入图片描述
docker start ruoyi-admin

在这里插入图片描述

nginx部署

分析nginx.conf
在这里插入图片描述

具体步骤

# 1.创建目录
mkdir -p /data/nginx/{conf,html}
 
 
# 2.切换到conf目录
cd  /data/nginx/conf/
 
#3上传nginx.conf至/data/nginx/conf文件夹中

在这里插入图片描述
运行启动容器

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

在这里插入图片描述
位置解释
在这里插入图片描述
在这里插入图片描述
解压

#下载解压命令
 yum  install -y unzip
 
 
#输入解压命令dist.zip压缩包名字
unzip   dist.zip

在这里插入图片描述
项目就配置完成了
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Day23:安全开发-PHP应用后台模块SessionCookieToken身份验证唯一性

目录 具体安全知识点 身份验证-Cookie使用 身份验证-Session使用 唯一性判断-Token使用 总结 源码 思维导图 PHP知识点: 功能:新闻列表,会员中心,资源下载,留言版,后台模块,模版引用&…

云渲染平台都开始涨价了?2024年性价比高的云渲染平台推荐

最近部分云渲染平台开始涨价,不论是通过调整机器性能,还是直接提价,都会对成本产生影响。这对已经习惯了平台价格的用户来说,并不是一件好事。这里举一些例子: 比如平台A,原“首小时渲染0.66元模式”已经下…

信号处理--基于EEG脑电信号处理研究概述

目录 前言 EEG特点 EEG预处理 EEG通道选择 EEG数据增强 EEG 维度降低 EEG特征提取 传统特征提取 深度学习自动提取特征 未来展望 创新的预处理方法 跨被试性能问题 模型融合 参考 前言 脑电信号(EEG)因其安全性、便携性、易用性、高时间分…

【C++】C/C++内存管理详解

个人主页 : zxctscl 文章封面来自:艺术家–贤海林 如有转载请先通知 目录 1. 前言2. C/C内存分布3. C语言中动态内存管理方式4. C中动态内存管理4.1 new/delete操作内置类型4.2 new和delete操作自定义类型 5. operator new与operator delete函数5.1 oper…

2024 年 AI 辅助研发趋势

随着人工智能技术的持续发展与突破,2024年AI辅助研发正成为科技界和工业界瞩目的焦点。从医药研发到汽车设计,从软件开发到材料科学,AI正逐渐渗透到研发的各个环节,变革着传统的研发模式。在这一背景下,AI辅助研发不仅…

章鱼网络进展月报 | 2024.2.1-2.29

章鱼网络大事摘要 1、Omnity 完成了核心组件的原型开发,正在测试,未来将首先支持 Runes 资产跨链。 2、$NEAR Restaking 质押总量超过400万美元。 3、章鱼网络受邀参加 ETHDenver 2024,并且与 ICP 共同组织活动,介绍 Omnity 的…

多线程:线程池

线程池 认识线程池 什么是线程池 线程池就是一个可以复用线程的技术。 不使用线程池的问题 用户每发起一个请求,后台就需要创建一个新线程来处理,下次新任务来了肯定又要创建新线程处理的,而创建新线程的开销是很大的,并且请…

Hello C++ (c++是什么/c++怎么学/c++推荐书籍)

引言 其实C基础语法基本上已经学完,早就想开始写C的博客了,却因为其他各种事情一直没开始。原计划是想讲Linux系统虚拟机安装的,后来考虑了一下还是算了,等Linux学到一定程度再开始相关博客的写作和发表吧。今天写博客想给C开个头…

java IO 02 IO接口

01.定义 02.IO中的输入和输出的划分 03.流的分类 IO流的所有类中,最先分野的是字节流和字符流。 字节流包括:输入流和输出流 InputStream public abstract class InputStream implements Closeable { }OutputStream public abstract class OutputSt…

20240306-1-大数据的几个面试题目

面试题目 1. 相同URL 题目: 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url? 方案1:估计每个文件的大小为50G64320G,远远大于内存限制的4G。所以…

Node.js概述与安装和运行

Node.js概述与安装和运行 一、Node.js1.Node.js概述2.Node.js官网2.Node.js 各系统版本下载网址3.1 Node.js Windows下载网址 二、Node.js安装1.1 打开Node.js下载网址1.2 安装Node.js1.3 同意协议1.4 安装目录1.5 自定义安装1.6 本机模块工具1.7 进行安装Node.js1.8 安装完成1…

NLP自然语言——基础

一、介绍 1、概念 NLP(Natural Language Processing,自然语言处理)是计算机科学领域以及人工智能领域的一个重要的研究方向,它研究用计算机来处理、理解以及运用人类语言(如中文、英文等),达到…

Java 解决异步 @Async 失效问题

1.问题描述 使用Async进行异步处理时,异步没有生效 2.原因分析 经过排查后发现是因为使用Async的方法没有跨2个Service导致的 错误示例 控制器接口 > 直接调用 custAdminService.importCBuy() 3.解决方案 Controller接口不变,多添加一层Service&a…

内网渗透NC木马后门复现

本文章仅用于信息安全学习,请遵守相关法律法规,严禁用于非法途径。若读者因此作出任何危害网络安全的行为,后果自负,与作者无关。 首先假设已经通过Kail成功入侵靶机:https://blog.csdn.net/mshxuyi/article/details/1…

使用cmd命令运行java

1.普通项目(不带lib文件夹) 1.在桌面上建一个名为com的文件夹,在文件夹中用记事本写两个类文件,后缀改为.java。两个类文件的内容如下图所示: 2.使用javac命令编译主函数,命令行为javac TestMain.java。结果可以看到自动生成了两…

Linux第68步_旧字符设备驱动的一般模板

file_operations结构体中的函数就是我们要实现的具体操作函数。 注意: register_chrdev()和 unregister_chrdev()这两个函数是老版本驱动使用的。现在新字符设备驱动已经不再使用这两个函数,而是使用Linux内核推荐的新字符设备驱动API函数。 1、创建C…

zerotier局域网组建 笔记

背景 家里的windows电脑:home-win10-pc 家里的windows电脑上vmware运行的ubuntu虚拟机:home-ubuntu-vm 公司的mac电脑:company-mac-pc 由于xxx需求,需要组建一个局域网,前东家都是用的zerotier,出于路径依…

代码学习记录10

随想录日记part10 t i m e : time: time: 2024.03.03 主要内容:今天的主要内容是深入了解数据结构中栈和队列,并通过三个 l e e t c o d e leetcode leetcode 题目深化认识。 20. 有效的括号1047. 删除字符串中的所有…

FL Studio怎么分轨导出音频文件 FL Studio轨道怎么合并 音乐编曲软件推荐 FL Studio下载

对于现在的编曲人来说,熟练掌握各类编曲软件已经是硬性要求了。掌握编曲软件的使用方法需要我们付出一些学习时间,例如编曲软件中各个轨道的拆分与合并等等,这些都是非常实用的编曲软件使用技巧。今天我就以FL Studio举例,向大家展…

轻薄蓝牙工牌室内人员定位应用

在现代化企业管理的背景下,轻薄蓝牙工牌人员定位应用逐渐崭露头角,成为提升企业效率和安全性的重要工具。本文将从轻薄蓝牙工牌的定义、特点、应用场景以及未来发展趋势等方面,对其进行全面深入的探讨。 一、轻薄蓝牙工牌的定义与特点 轻薄…