1. 打开SpringBoot项目,找到右边栏的maven,双击package打包,打包前可以先clean下
2. 打好的项目jar包,在有启动类的admin下
3. 编写下配置文件
创建一个项目文件夹,用来存放启动配置文件及项目jar包
mkdir -p dev
$ cd dev/
# 创建Dockerfile文件
$ vim Dockerfile
编辑Dockerfile
# 镜像java版本,这里有坑,你可以看着项目里的pom.xml文件确定自己的版本,如果有问题的话多尝试几个
FROM openjdk:8
# VOLUME 指定了临时文件(使用容器卷)目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp。
VOLUME /tmp
# 将jar包添加到容器中并更名为test2.jar
ADD fine-tuning-admin.jar app.jar
ENV JAVA_OPTS="\
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.rmi.port=4009 \
-Dcom.sun.management.jmxremote.port=4009 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Djava.rmi.server.hostname=219.159.22.22"
# 暴露端口号
EXPOSE 4004 4009
# 容器启动时会运行的命令
ENTRYPOINT ["java","-Dcom.sun.management.jmxremote=true", "-Dcom.sun.management.jmxremote.rmi.port=4009", "-Dcom.sun.management.jmxremote.port=4009", "-Dcom.sun.management.jmxremote.ssl=false", "-Dcom.sun.management.jmxremote.authenticate=false", "-Djava.rmi.server.hostname=219.159.22.22","-jar","/app.jar"]
# ENTRYPOINT java ${JAVA_OPTS} -jar /app.jar
4. 用sftp上传项目jar包到此dev目录下
5. 构建docker镜像(用docker 启动)
docker build . -t fine-tuning-platform
6. 查看docker 镜像 是否Build成
docker images
7. 启动项目,运行docker容器
docker run -d -p 4004:8080 -p 4009:4009 --name fine-tuning-platform --network fine-tuning-platform-network -e spring.profiles.active=dev -v /mydata/project/logs:/home/fine-tuning/logs -e TZ="Asia/Shanghai" fine-tuning-platform
8. 查看是否启动成功 docker ps
9. 访问线上接口地址即为:服务器IP:Port 例如 219.123.77.00:4004
10. 如果需要重发,步骤如下
#开发服务器启动项目重新发版
1. idea用maven package双击打包成项目jar包---
生成文件在admin项目的target文件下--copy jar包到桌面
2. 把docker的项目容器停掉并且删除
docker ps
docker stop
docker rm 项目镜像id
3. 查看docker镜像 找到项目镜像id 并删除
docker ps
doker rmi 容器id或者项目名称
4. 进入dev/目录下删除之前的项目jar包 & 上传本地新打成功的jar包
5. docker build . -t fine-tuning-platform 上传后执行build命令 构建镜像
6. 运行docker 项目容器
docker run -d -p 4004:8080 -p 4009:4009 --name fine-tuning-platform --network fine-tuning-platform-network -e spring.profiles.active=dev -v /mydata/project/logs:/home/fine-tuning/logs -e TZ="Asia/Shanghai" fine-tuning-platform
docker部署项目, 欢迎沟通~