Docker部署Springboot+Vue项目
1 docker使用nginx部署vue项目
1.1 打包vue项目
npm run build
vue项目路径下会增加一个dist文件夹,里面就是网页文件
1.2 使用docker 拉取nginx
docker pull nginx
1.3 运行nginx
docker run --name nginx -p 80:80 -d nginx:latest
1.4 在宿主机创建文件夹用来挂载容器文件
mkdir myfiles
cd /myfiles
mkdir nginx
cd /nginx
mkdir html
mkdir conf
mkdir cinf.d
1.5 将容器内的目录挂载到宿主机中
docker cp nginx:/etc/nginx/nginx.conf /usr/nginx/conf/ //复制nginx.conf
docker cp nginx:/etc/nginx/conf.d/default.conf /usr/nginx/conf.d //复制default.conf
若没找到容器,请将nginx替换为容器id
1.6 修改 default.conf,将原来的删除用下面的,将两个地方的服务器ip改成你自己的就可以用了
server {
listen 80;
listen [::]:80;
server_name 服务器ip;
location /api {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://服务器ip/api/;
}
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
1.7 删除之前的容器
docker stop nginx
docker rm nginx
1.8 重新运行nginx
docker run -d -p 80:80 -v /myfiles/nginx/html:/usr/share/nginx/html -v /myfiles/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /myfiles/nginx/conf.d:/etc/nginx/conf.d nginx:latest
2 docker部署springboot项目
2.1 打包springboot项目
使用idea右侧maven生命周期中的package进行打包,会在target目录下生成jar包
2.2 将jar包上传到服务器中
cd /myfiles
mkdir java
2.3 编写Dockerfile文件
FROM java:8 //使用jdk8
EXPOSE 8082//保留的端口不是访问后端的端口
ADD 打包文件名.jar test.jar
RUN bash -c 'touch /test.jar'
ENTRYPOINT ["java", "-jar", "/test.jar"] //运行jar命令
2.4 创建镜像
docker build -t 镜像名称 .
2.5 运行
docker run -d -p 8082:8082 --name 容器名称 镜像名称:latest
2.6 查看日志
docker logs 容器名称