利用Docker部署项目
AI-摘要
ikun GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
利用Docker部署项目
xukun上线步骤–后端
1.配置服务器yum源
1 | https://blog.csdn.net/weixin_49369665/article/details/143248527?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-143248527-blog-111396918.235^v43^control&spm=1001.2101.3001.4242.2&utm_relevant_index=4 |
1 | /etc/yum.repos.d/CentOS-Vault.repo |
安装依赖
1 | sudo yum install -y yum-utils |
添加 Docker 官方仓库:
1 | sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo |
更新 yum
缓存:
1 | sudo yum makecache |
安装docker和compose
1 | yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin |
启动docker
1 | systemctl start docker |
测试docker
1 | systemctl status docker |
配置java
1 | https://blog.csdn.net/zjp776/article/details/125787998 |
1 | export JAVA_HOME=/root/jdk1.8.0_241/ |
2.配置docker镜像
1 | 进入 |
然后在里面加入下面的配置
1 | { |
或者
1 | { |
或者
1 | { |
然后在终端重新启动一下docker
1 | systemctl daemon-reload |
启动 Docker:
1 | systemctl start docker |
4.安装maven
服务器上的maven的版本要在3.1以上
1 | https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz |
安装maven
1 | https://blog.csdn.net/qq_15752347/article/details/142102726 |
配置环境变量/etc/profile(改成自己的路径和版本)
1 | export MAVEN_HOME=/root/apache-maven-3.6.3/ |
执行以下命令让修改的生效
1 | source /etc/profile |
通过 mvn -v
命令查看配置是否生效
5.配置maven的settings.xml
添加镜像
/root/apache-maven-3.6.3/conf/
1 | <mirror> |
6.执行打包
1 | mvn package |
7.先使用 docker compose 一行命令启动环境依赖
1 | sudo docker compose -f docker-compose.env.yml up |
1 | sudo docker compose -f docker-compose.env.yml up nacos -d |
在项目文件夹给redis持久化目录加权限
1 | //检查文件夹 |
成功后后台启动
1 | sudo docker compose -f docker-compose.env.yml up -d |
查看容器状态
1 | sudo docker stats |
8.确保环境依赖都启动成功后,接下来启动业务服务
删除缓存
1 | docker builder prune -f |
1 | sudo docker compose -f docker-compose.service.yml up -d |
9.如果某个服务启动失败,可以再次单独只启动它,比如网关服务
1 | sudo docker compose -f docker-compose.service.yml up oj-backend-gateway -d |
10.进程放回前台运行
1 | docker attach id |
启动docker
1 | systemctl daemon-reload |
项目部署上线后,如果你在本地修改了某个模块的代码,要在本地重新打包,把jar包重新上传到服务器对应的位置上(即该模块在服务器上对应的目录的target目录里),然后要把该模块的容器停止了,然后删除该容器,然后再把该模块的镜像删除了,最后再使用docker compose命令重新构建容器
记得打包
1 | mvn package |
部署mysql
1 | docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name my_mysql mysql:8.0 |
停止docker容器
以下是停止单个容器的命令:
1 | docker stop <container_id_or_name> |
如果要停止所有运行的容器,可以使用以下命令:
1 | docker stop $(docker ps -q) |
这里docker ps -q
会列出所有运行容器的ID,然后docker stop
会停止所有这些容
移除容器
1 | docker rm 镜像id |
查看所有镜像
1 | docker images |
移除镜像
1 | 删除镜像IMAGE使用 docker rmi 命令,例如删除 mysql 镜像: |
删除命名以yuoj-backend开头的容器:
1 | docker rm -f $(docker ps -a | grep "oj-backend*" | awk '{print $1}') |
删除以yuoj-backend开头的镜像
1 | docker images --format "{{.Repository}}:{{.Tag}}" | grep oj-backend | xargs docker rmi |
前端部署
1.创建文件
修改 OpenApi.ts
1 | localhost改成服务器ip |
命令将项目进行打包,然后生成一个dist文件夹**
服务器创建前端name文件夹
注意端口
编写 Dockerfile
1 | FROM nginx |
上传 dist 文件夹,Dockerfile,docker文件夹
docker文件夹里面创建nginx.conf 文件
1 | server { |
3.**终端运行 **
1 | docker build -t oj-frontend-master . |
1 | tencent |
命令将项目进行打包,然后生成一个dist文件夹
3.将刚刚在本地生成的dist文件夹,上传到服务器的yuoj-frontend-master目录下
4.配置源
1 | # 设置镜像源 |
yarn安装
1 | npm install -g yarn |
配置yarn源
1 | yarn config set registry https://mirrors.jd.com/npm/ |
查看yarn全局缓存
1 | yarn cache dir |
使用镜像下载脚手架!!!
1 | npm install @vue/cli -g --registry=https://registry.npmmirror.com/ |
脚手架安装教程
1 | https://blog.csdn.net/weixin_74941202/article/details/139158374 |
引入组件
1 | npm install --save-dev @arco-design/web-vue |
进入bin目录启动nacos
1 | startup.cmd -m standalone |