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

前后端分离项目Docker部署指南(上)

目录

前言

一.搭建局域网

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

2.注意点

二.安装redis 

创建目录

将容器进行挂载

 ​编辑

测试是否安装成功

 ​编辑

三. 安装MySQL

创建文件夹

上传配置文件并且修改

.启动MySQL容器服务

充许远程连接

四.部署后端

使用Dockerfile自定义镜像

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

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

运行容器

 ​编辑

导入数据

​编辑​编辑 


前言

随着软件开发的不断演进,前后端分离已成为一种常见的架构模式。这种架构模式使得前端专注于用户界面的呈现和交互,后端则专注于数据处理和业务逻辑。然而,随着项目复杂度的增加,如何高效地部署和管理这种架构成为了一个挑战。

Docker作为一种轻量级的容器化技术,为前后端分离项目的部署提供了强大的支持。它可以帮助我们快速构建、部署和管理应用程序,实现资源的隔离和环境的统一。通过使用Docker,我们可以更加简单、快速地部署前后端分离项目,并确保项目在不同环境中的一致性。

在这篇博客中,我们将探讨如何使用Docker部署前后端分离项目。我们将从项目架构的角度出发,介绍如何构建Docker镜像、编写Dockerfile、配置Docker Compose以及部署到生产环境等关键步骤。通过实际操作和案例分析,我们将帮助你掌握Docker部署前后端分离项目的最佳实践,并提升你的项目部署能力。

无论你是前端开发者、后端开发者还是运维工程师,相信这篇博客都会为你带来宝贵的经验和启示。让我们一起走进Docker的世界,探索前后端分离项目的部署之道吧!

一.搭建局域网

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

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

 查看搭建是否成功

docker network   ls 

2.注意点

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

查看防火墙状态

systemctl status firewalld

关闭防火墙

systemctl stop firewalld.service

 注意:关闭防火墙后必须重启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 restart docker

二.安装redis 

创建目录

mkdir -p /data/redis/{conf,data}

 上传redis.conf文件到/data/redis/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

 

测试是否安装成功

进入容器

 docker  exec -it  zking-redis  /bin/bash

 

通过外部访问

 

三. 安装MySQL

创建文件夹

mkdir -p /data/mysql/{conf,data}

上传配置文件并且修改

mv my2.cnf  my.cnf

 

.启动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;
# 创建用户及授权
grant all privileges on *.* to root@'%' identified by 'sasa' with grant option;
# 刷新权限
flush privileges; 

第三方工具连接

 

四.部署后端

使用Dockerfile自定义镜像

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"]

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

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

docker build -t ruoyi-admin .

运行容器

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

 

 

导入数据

 

http://www.lryc.cn/news/311013.html

相关文章:

  • ARM 架构下国密算法库
  • 源码的角度分析Vue2数据双向绑定原理
  • 动态规划(算法竞赛、蓝桥杯)--树形DP树形背包
  • electron打包前端项目
  • 2.1基本算法之枚举7647:余数相同问题
  • 求最短路径之迪杰斯特拉算法
  • python大学社团管理系统开发文档
  • leetcode 1328.破坏回文串
  • 重学SpringBoot3-自动配置机制
  • sql基本语法+实验实践
  • Node.js中的并发和多线程处理
  • node.js 封装分页查询
  • iptables 基本使用
  • 食品笔记()
  • C++入门和基础
  • 一些C语言知识
  • 代码工具APEX的入门使用(未包含安装)
  • 负载均衡.
  • Git 指令深入浅出【2】—— 分支管理
  • 工作流/任务卸载相关开源论文分享
  • 为什么要用Python?
  • 北京大学发布,将试错引入大模型代理学习!
  • Java 设计模式
  • Kivy和BeeWare 开发APP的优缺点,及其发展历史
  • C++递推
  • C++ 面试题
  • MySQL之索引详解
  • Java面试题总结8:springboot
  • Android 4.4 以下,OkHttp访问Https报错,设置了sslSocketFactory仍无效的解决方法
  • 如何扫码查看企业介绍及填写招聘表?招聘二维码在线生成的方法