Bootstrap

Docker部署springboot项目 保姆级教程

首先将配置文件的数据库、redis等各种配置修改为自己的服务器地址,然后在maven中运行package进行打包

打包完毕后控制台输出BUILD SUCCESS,在target目录下多出一个jar包

将 jar包复制到一个目录下,然后cd到这个目录

添加一个Dockerfile文件(这里的jdk-17.0.12是我自己下载的,跟这个jar包在同一个目录,你也可以使用docker pull jdk去拉取一个jdk镜像),然后将所有的demo-0.0.1-SNAPSHOT.jar修改为你自己的jar包名称,EXPOSE 8081是后端端口号

# 使用轻量级基础镜像
FROM debian:bullseye-slim


# 将本地 JDK 复制到镜像中
COPY jdk-17.0.12 /usr/local/java/jdk-17.0.12

# 设置 JAVA_HOME 和 PATH 环境变量
ENV JAVA_HOME=/usr/local/java/jdk-17.0.12
ENV PATH=$JAVA_HOME/bin:$PATH

# 设置容器工作目录为 /app
WORKDIR /app

# 复制本地 JAR 文件到容器中
COPY demo-0.0.1-SNAPSHOT.jar /app/demo-0.0.1-SNAPSHOT.jar

# 设置环境变量 JAR_FILE,方便运行时引用
ENV JAR_FILE=demo-0.0.1-SNAPSHOT.jar

# 暴露容器的 8081 端口
EXPOSE 8081

# 启动容器时,运行 Java 应用
ENTRYPOINT ["java", "-jar", "/app/demo-0.0.1-SNAPSHOT.jar"]

然后执行打包镜像命令,等待打包

打包镜像
docker build -t myimage_name:1.1 . 

打包完毕后输入docker images查看刚才的镜像

创建容器

#myps_name是自己设置的容器名,myimage_name是你的镜像名 
#-p 8081:8081代表宿主机的8081端口(前面的端口号)映射到容器内的8081端口(后面的端口号)
docker run --name myps_name -p 8085:8081 -d myimage_name

如果报错找不到这个镜像,那就执行

docker run --name exctest -p 8085:8081 -d d68ddc3ef5ff

d68ddc3ef5ff是镜像的id,每一个镜像都有唯一的一个id,可通过docker images查看自己的镜像id

然后通过docker ps查看是否存在刚才的容器

然后浏览器打开虚拟机地址加容器端口号 192.168.48.128:8085

;