vue
参考博客
先将vue项目打包
npm run build
再创建项目文件夹front,在front中新建nginx.conf
server {
listen 80;
server_name localhost;
# 请求体的大小限制
client_max_body_size 50m;
# 日志文件存放地址
access_log /var/log/nginx/host.access.log main;
error_log /var/log/nginx/error.log error;
# 代理前端项目文件
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
# 代理后端服务地址 192.168.200.100:50000为后端服务地址
location /api/ {
proxy_pass http://192.168.200.100:50000/;
}
# 代理后端websocket服务地址
location ^~ /wpi/ {
proxy_pass http://192.168.200.100:50000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
在front中添加Dockerfile
FROM nginx
# 将dist文件拷贝到容器内的 /usr/share/nginx/html
COPY dist/ /usr/share/nginx/html
# 将nginx.conf文件拷贝到容器中nginx的默认配置文件存放目录下
COPY nginx.conf /etc/nginx/conf.d/default.conf
创建镜像
docker build -t front .
运行容器
docker run --name front --restart=always -p 0.0.0.0:8080:80 -d front
springboot
在有启动类的模块pom里这样引入打包插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.9.RELEASE</version>
<configuration>
<mainClass>org.nowiam.user.UserApplication</mainClass>
</configuration>
</plugin>
</plugins>
</build>
工具类里引入打包插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.9.RELEASE</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
根据项目关系依次install
最后target中就有打包好的jar包
创建文件夹将jar包放入该文件夹中
创建Dockerfile
#自动拉取镜像
FROM openjdk:8
#作者
MAINTAINER nowiam
#对外暴露的端口号
EXPOSE 50000
ADD nowiam-gateway.jar /app.jar
#运行的方式
ENTRYPOINT ["java","-jar","/app.jar"]
创建镜像
docker build -t nowiam-gateway .
运行容器
docker run --name nowiam-gateway --restart=always -p 0.0.0.0:50000:50000 -d nowiam-gateway