前排提示:各位同行遇到问题要先思考,不要直接去百度,要不然会被百度一群复制粘贴博主把思路带偏,从而浪费时间,有相关问题可以直接私信我
以下步骤需要先拉取docker镜像、nginx镜像、jdk镜像
一.部署springboot项目
1.项目打成jar包
2.制作Dockerfile文件
###指定java8环境镜像
FROM java:8
### 指定存储在容器内的目录
WORKDIR /usr/local
### 复制 jar (docker-springboot-0.0.1.jar) 到容器中并命名为 app-springboot.jar
ADD jkht-0.0.1-SNAPSHOT.jar jkht.jar
###声明启动端口号
EXPOSE 8080
###配置容器启动后执行的命令
ENTRYPOINT ["java","-jar","jkht.jar"]
3.将以上两个文件放在一个文件夹下—构建镜像—运行
(1)docker build -t 镜像名 .
.代表在本目录下构建镜像
(2)docker run -d -p 1234:888 容器名
-d代表后台运行 -p代表将容器内的888端口映射到外部的1234端口
二、部署vue项目
1.vue项目打包dist文件
2. 制作Dockerfile文件
FROM nginx
MAINTAINER zql #维护员或者说作者
RUN rm /etc/nginx/conf.d/default.conf #删除nginx配置文件
ADD default.conf /etc/nginx/conf.d/ 添加default.conf文件到nginx
COPY dist/ /usr/share/nginx/html/ 复制项目文件到nginx
3.制作default.conf文件(注意不要有tab缩进,用空格代替,否则会报错)
server {
listen 80;
server_name 1234.1234.1234.1244; # 修改为docker服务宿主机的ip
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
location /api/{ #/api/是vue项目里封装接口的前缀
proxy_pass http://1234.1234.1234.1244:1234/; #这是你后台接口地址
#proxy_set_header Host host;
#proxy_set_header X?Real?IP remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
#root html;
#}
}
4.将以上三个文件放在一个文件夹下—构建镜像—运行
(1)docker build -t 镜像名 .
.代表在本目录下构建镜像
(2)docker run -d -p 1234:888 容器名
-d代表后台运行 -p代表将容器内的888端口映射到外部的1234端口