使用docker部署至服务器
文章目录
docker部署若依项目前言一、环境
1.1 安装docker1.2 安装jdk1.3 安装mysql
1.3.1测试连接1.3.2 连接失败?1.3.3 插入数据 1.4 安装redis 二、项目打包
2.1 后端2.2 前端 三、项目部署
3.1 部署后端
3.1.1 jar包做成dockerFile3.1.2 dockerFile做成docker镜像3.1.3 运行dockerFile3.1.4 校验是否启动成功 3.2 部署前端
3.2.1 安装Ngnix
3.2.1.1 配置ng3.2.1.2 启动ng 四 访问项目 总结
前言
为了让自己更加熟悉docker,以及提升部署能力,花时间部署了项目,并且记录下来,把项目部署从0到1实现,项目示例用的是开源框架ruoyi
提示:以下是本篇文章正文内容,下面案例可供参考
一、环境首先先准备好服务器,我这边使用的是腾讯云的服务器,花74买了一年;然后开始安装环境,这边我整理了优质、通俗易懂的安装步骤
1.1 安装docker教程:链接: linux安装docker.
1.2 安装jdk教程:链接: linux安装jdk.
1.3 安装mysql教程:链接: linux安装mysql.
安装完成后设置好密码,启动docker里的mysql,然后在本地使用数据库可视化工具测试连接
查看启动的端口号是否开放了防火墙,后续主要是关于端口相关,都应该注意这个防火墙
把项目的sql文件通过可视化工具去插入
1.4 安装redis教程:链接: linux安装redis.
有这几个环境应该够了,因为是springboot的项目所以不需要安装tomcat;
二、项目打包 2.1 后端对于多模块的项目,要对因为子模块依赖于父模块,所以对父模块进行打包
npm run build:prod
打包好后会得到一个dist文件夹;
至此,所有的准备工作都弄好了,接下来是关键,也容易忽略细节的部分
三、项目部署这一块,我们先从后端入手,将后端部署完后,尝试着访问一下,如果通了就可以弄前端部分了;
3.1 部署后端 3.1.1 jar包做成dockerFile将jar包与dockerFile文件放同一目录,然后使用以下命令
vi Dockerfile
# 文件内容
FROM java:8
ARG JAR_FILE=./*.jar
COPY ${JAR_FILE} ruoyi.jar
ENV TZ=Asia/Shanghai
ENTRYPOINT ["java","-jar","ruoyi.jar"]
3.1.2 dockerFile做成docker镜像
创建好Dockerfile文件之后,执行命令 构建镜像: -t后面为自定义镜像名称
docker build -f Dockerfile -t ruoyi:v1.0.03.1.3 运行dockerFile
docker run -d -p 8080:8080 ruoyi:v1.0.03.1.4 校验是否启动成功
好了,后端这一块没问题了,接下来是前端部分
安装教程可以参考这位小伙伴的:这里写的挺详细的: docker部署nginx并且挂载文件夹和文件.
千万要记得挂载文件哦!我就是在这卡了很久,以为自己做的配置文件有问题,实际上是没挂载进去;
我这边是做法如下:
在linux系统中创建挂载源文件和文件夹
mkdir -p /data/nginx/conf mkdir -p /data/nginx/conf.d mkdir -p /data/nginx/html mkdir -p /data/nginx/logs
然后创建在conf文件夹里面创建一个nginx.conf配置文件,记得dist文件路径一定要对哦
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
charset utf-8;
location / {
root /usr/share/nginx/html/ruoyiadmin/dist;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /prod-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://1.117.***.7:8080/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
3.2.1.2 启动ng
docker run --name mynginx -d -p 80:80 -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /data/nginx/logs:/var/log/nginx nginx四 访问项目
http://1.117.***.7:80/,直接在浏览器输入你服务器的ip地址加端口号即可访问!
以上就是我个人部署项目的全部过程和一些经验,平时工作都是很枯燥的编写代码,而让一个项目从0到1的部署起来,经历了大大小小的磕碰,到最后访问出现页面的那一刻,是很欣慰和激动的!加油,奥利给!



