1、前端打包
npm run build
1.1在Linux服务器新建nginx文件夹
- 在nginx在新建立html文件夹用来放前端页面
1.2将前端打包的数据上传到html文件夹
2.后端Dockerfile编写
FROM java:8
EXPOSE 8080
# ADD 后面是项目名称
ADD vueblog-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENTPYPOINT ["java","-jar","/app.jar","--spring.profiles.active=pro"]
3.docker-compose.yml
version: '3'
services:
nginx:
image: nginx:latest
ports:
- 80:80
volumes:
- /root/nginx/html:/usr/share/nginx/html
- /root/nginx/nginx.conf:/usr/share/nginx/nginx.conf
privileged:true
mysql:
image: mysql:5.7.27
ports:
- 3306:3306
environment:
- MYSQL_ROOT_PASSWORD=564929
redis:
image: redis:latest
ports:
- 6379:6379
vueblog:
image: vueblog:latest
build: .
ports:
- 8080:8080
depends_on:
- mysql
- redis
4.配置nginx
- 在nginx目录下新建立nginx.conf文件
touch nginx.conf
- vim nginx.conf
- 利用vim输入下面内容
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html last;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
5.上传项目
同一个目录下,进行打包,最好是单独建立一个文件夹,防止遇到bug
6.开始编译项目
docker-compose up -d
最后启动成功,看到一堆done
注意事项
- nginx.conf务必配置好
- docker-compose up -d执行在在项目、和镜像配置文件夹中进行,不然容易报错误,直接在根目录下编译不行
- 打开安全组,建立数据库,导入表和数据