一、运行环境
- 2核4g服务器
- centos 7.6
- Docker环境
二、Docker环境的安装
方法一、直接选用腾讯云的轻量应用服务器,应用镜像选择Docker CE。
方法二、手动部署Docker环境
参考官方文档:https://docs.docker.com/engine/install/centos/
- 卸载oldDocker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 添加软件源信息并更新
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
- 安装 Docker-CE
sudo yum -y install docker-ce
- 开启Docker服务
sudo systemctl start docker
- Docker服务开机自启动
sudo systemctl enable docker
- 配置阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ynsomv8x.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
三、创建项目的Docker桥接网络
- 查看已有的网络
docker network ls
- 创建网络
docker network create mynetwork
- 查看指定网络
docker network inspect mynetwork
四、创建mysql容器
- 下载MySQL5.7镜像
sudo docker pull mysql:5.7
- 创建实例并启动
sudo docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
--network mynetwork \
-d mysql:5.7
- 修改MySQL配置文件
vim /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
init_connect='SET collation_connection = utf8mb4_unicode_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
lower_case_table_names = 1
- 重启mysql容器
docker restart mysql
- mysql容器自动启动
docker update mysql --restart=always
- 利用Navicat等工具链接mysql容器并创建maintainsystem2数据库
- 导入maintainsystem.sql文件。
- 导入完成,共有9张表
五、创建Redis容器
- 下载redis6.2.5镜像
docker pull redis:6.2.5
- 创建目录及文件
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
- 修改配置文件
vim /mydata/redis/conf/redis.conf
具体配置文件见 https://blog.csdn.net/weixin_43736412/article/details/120819383
修改第68行,开启远程访问
修改790行,设置密码
- 创建实例并启动
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
--network mynetwork \
-d redis:6.2.5 redis-server /etc/redis/redis.conf
- 容器自动启动
docker update redis --restart=always
六、部署前端vue页面
- 项目地址:https://gitee.com/zou_yuan/maintainsystem-vue-master.git
- Fork至自己的gitee仓库
- src/views/Base.vue文件中BASE_URL的地址改为服务器的地址
- 使用阿里云云效Folw构建流水线:https://flow.aliyun.com/
- 选择Node.js测试、构建、部署到阿里云ESC/自有主机
- 绑定自己的码云账号,选择对应的maintainsystem-vue-master仓库
- Node.js构建
cnpm install
cnpm run build
- 主机部署
- 按照提示添加主机
- 修改下载路径
/project/maintainsystem/vue/package.tgz
- 部署脚本
# 切换目录
cd /project/maintainsystem/vue
# 解压
tar -zxvf package.tgz
# 构建镜像
docker build -t maintainsystem-vue:latest -f Dockerfile .
# 删除旧的容器
docker rm -f maintainsystem-vue
# 启动新的容器
docker run --name maintainsystem-vue -p 9010:80 -d maintainsystem-vue:latest
# 自启动
docker update maintainsystem-vue --restart=always
# 删除文件
rm -rf *
- 点击保存并运行
- 流水线运行成功
- 服务器输入命令
docker ps -a
可以看到maintainsystem-vue容器已经运行了
- 浏览器访问 服务器ip:9010
- 前端vue部署成功
七、部署后端springboot服务
-
项目地址:https://gitee.com/zou_yuan/maintainsystem-springboot-master.git
-
Fork至自己的gitee仓库
-
部署流程相似,只记录关键部分
-
选择Java · 测试、构建、部署到阿里云ECS/自有主机
- 选择自己的代码仓库
- Java构建上传中打包路径改为 .
- 下载路径
/project/maintainsystem/springboot/package.tgz
- 部署脚本
# 切换目录
cd /project/maintainsystem/springboot
# 解压
tar -zxvf package.tgz
# 构建镜像
docker build -t maintainsystem-springboot:latest -f Dockerfile .
# 删除旧的容器
docker rm -f maintainsystem-springboot
# 启动新的容器 手动设置参数
docker run --name maintainsystem-springboot -p 9011:443 -v /mydata/maintainsystem/upload:/upload --network mynetwork -d maintainsystem-springboot:latest
# 自启动
docker update maintainsystem-springboot --restart=always
# 删除文件
rm -rf *
- 保存并运行
- 查看日志
docker logs maintainsystem-springboot
八、系统使用
- 登录
超级管理员账号:11012341001
超级管理员密码:11012341001
- 登录成功