后端代码

通过maven的package命令打成jar包。

dockerfile

# 基础镜像
FROM openjdk:11.0-jre-buster
# 设定时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 拷贝jar包
COPY 项目名.jar /app.jar
# 入口
ENTRYPOINT ["java", "-jar", "/app.jar"]

Dockerfile和生成的jar包一起上传到虚拟机的root目录:

# 1.构建项目镜像,不指定tag,则默认为latest
docker build -t 项目名 .

# 2.查看镜像
docker images


# 3.创建并运行容器,并通过--network将其加入自定义网络,这样才能通过容器名访问mysql
docker run -d --name 容器名 --network 自定义网络名 -p 8080:8080 项目镜像名

测试,通过浏览器访问:http://你的虚拟机地址:8080/项目接口

前端

  • html是静态资源目录

  • nginx.conf是nginx的配置文件,主要是完成对html下的静态资源目录做代理

  • 把整个nginx目录上传到虚拟机的/root目录下

前后端在一个自定义网络里

创建nginx容器并完成两个挂载:

  • /root/nginx/nginx.conf挂载到/etc/nginx/nginx.conf

  • /root/nginx/html挂载到/usr/share/nginx/html

docker run -d \
  --name nginx \
  -p 端口名:端口名 \
  -v /root/nginx/html:/usr/share/nginx/html \
  -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf \
  --network 自定义网络名 \
  nginx

测试,通过浏览器访问:http://你的虚拟机ip:端口名

更多推荐