使用docker部署苍穹外卖到云服务器中(包括如何部署微信小程序、后端代码、nginx等;超详细,手把手教,文末附资源)

使用docker部署苍穹外卖到云服务器中

      • 一、docker自定义网络
            • 1. 原因:
            • 2. 原理作用
            • 3. docker创建网络
            • 4. 举例说明(举个例子,不用操作)
      • 二、部署MySQL
            • 1. 创建本地目录
            • 2. 使用xftp、MobaXerm等应用程序将mysql这个文件夹复制到服务器的/root目录下
            • 3. 创建MySQL容器,完成本地目录挂载
            • 4. docker展示部署结果
            • 5. 使用navicat连接服务器上部署的MySQL
      • 三、部署redis
            • 1. 创建并运行redis容器
            • 2. docker展示部署结果
            • 3. redis可视化工具连接服务器上的redis容器
      • 四、部署java后端
            • 1. 创建jdk镜像
            • 2. 修改后端项目的配置信息
            • 3. 将苍穹外卖后端项目打包(.jar包)
            • 4. 编写DockerFile文件
            • 5. 创建苍穹外卖后端项目的镜像
            • 6. 创建苍穹外卖后端项目容器
            • 7. docker查看苍穹外卖后端项目容器
            • 8. 浏览器浏览器访问后端项目。
      • 五、部署nignx前端项目(文末提供了nginx相关的资源)
            • 1. 修改nginx.conf文件
            • 2. 修改websocket请求连接的url
            • 3. 创建nginx容器
            • 4. docker查看nginx容器
            • 5. 浏览器运行前端项目
      • 六、部署微信小程序
            • 1. 修改axios请求的url
            • 2. 运行微信小程序
      • 七、资料

无需上线微信小程序,一站式部署部署微信小程序、java后端代码、nginx等。
推荐看本篇前,先观看黑马docker快速入门到部署3小时,看完视频再看本篇,苍穹外卖100%部署成功,并且理解透彻每一步。
苍穹外卖使用jdk11或jdk17进行编译,以下部署都是根据jdk11或jdk17来部署的。可以使用其他版本的jdk,只需要拉取到对应jdk的镜像即可。
一步一步跟着走,保证没问题!

一、docker自定义网络

1. 原因:

由于创建部署的每个容器的ip地址都会改变,且一些容器的私网ip地址不在同一个网段(网络或局域网)中,这就造成容器与容器之间的访问变得困难。比如:java后端连接mysql时,如果java后端项目这个容器和mysql容器不在同一个局域网中,它们之间是无法访问的,给每个容器配置公网ip也不现实。

2. 原理作用

自定义网络,就是创建一个局域网,将每一个容器都添加到这个局域网中,每个容器都有这个局域网的固定私网ip;同时,访问各个容器时,直接使用容器名代替容器的私网ip

3. docker创建网络
docker network create heima

创建一个网络名为黑马的局域网。各个容器在创建运行时,可以加入这个heima局域网中。

4. 举例说明(举个例子,不用操作)
  1. 创建java后端项目容器(demo项目)并加入heima局域网中。
    使用--network heima加入heima局域网中
docker run -d --name demo --network heima -p 8080:8080 demo
  1. 创建mysql容器并加入heima局域网中。
    使用--network heima加入heima局域网中
docker run -d  --name mysql  -p 3306:3306  -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123 --network heima mysql
  1. java项目连接mysql
    因为java项目和mysql在同一个局域网heima中,并且可以使用容器名代替容器的ip地址。那么,连接mysql的url为
url = jdbc:mysql://mysql:3306/数据库名

二、部署MySQL

先将MySQL容器于本地目录进行挂载,挂载后,MySQL的数据所在的文件路径就可以清晰的展示出来,可以直接通过宿主机(云服务器)所挂载的本地目录查找MySQL数据。
同时,下次再创建MySQL容器时,可以继续使用本地目录进行挂载,这样新创建的MySQL容器就会有本地目录的表数据了。

1. 创建本地目录

创建mysql文件夹,里面包含了conf文件夹和init文件夹
文末提供了mysql文件夹,可以直接使用提供的myslq文件夹,跳过这个步骤。
使用docker部署苍穹外卖到云服务器中(包括如何部署微信小程序、后端代码、nginx等;超详细,手把手教,文末附资源)_第1张图片
init文件夹中可以放入苍穹外卖数据的sql文件,这样在docker创建mysql容器时,可以自动执行sql文件,创建苍穹外卖的数据库。
使用docker部署苍穹外卖到云服务器中(包括如何部署微信小程序、后端代码、nginx等;超详细,手把手教,文末附资源)_第2张图片
conf文件夹中含有配置文件,用来确定数据库编码的文件
使用docker部署苍穹外卖到云服务器中(包括如何部署微信小程序、后端代码、nginx等;超详细,手把手教,文末附资源)_第3张图片
sky-take-out文件内容为

[client]
default_character_set=utf8mb4
[mysql]
default_character_set=utf8mb4
[mysqld]
character_set_server=utf8mb4
collation_server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
2. 使用xftp、MobaXerm等应用程序将mysql这个文件夹复制到服务器的/root目录下

你可能感兴趣的:(docker,微信小程序,nginx,java,数据库)