Docker部署SpingBoot项目

新建项目

  1. 创建项目目录
mkdir -p /data/projects/hello-world
cd /data/projects/hello-world
  1. 上传Jar包并授权
# scp 或其他方式上传jar包到/data/projects/hello-world/hello-world.jar
chmod 777 hello-world.jar
  1. 创建Dockerfile
FROM openjdk:17
VOLUME /tmp
COPY hello-world.jar app.jar
ENV TZ=Asia/Shanghai
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
  1. 创建镜像
docker build -t hello-world .
docker images
  1. 运行容器
docker run -d -p 9925:9925 --restart=always --name=hello-world hello-world
# -p 9925:9925              端口映射 主机:容器
# -d                        后台运行
# --restart=always          重启策略
# --name=hello-world        容器名
# hello-world               镜像名
# -v /data/hello-world:/data/outer-data 目录映射 宿主机目录:容器内部目录
docker ps -a
  1. 访问测试

更新项目

  1. 上传Jar包并授权
# scp 或其他方式上传jar包到/data/projects/hello-world/hello-world-v2.jar
chmod 777 hello-world-v2.jar
  1. 复制项目到对应的容器
docker cp hello-world-v2.jar hello-world:/app.jar
  1. 重新启动容器
docker restart hello-world
docker ps -a

其他

  • 查看容器日志
docker logs -f hello-world
# 查看最后100行日志
docker logs -f --tail=100 hello-world
  • 更新容器配置
# 例:更新启动行为
docker update --restart=always hello-world
  • 停止容器
docker stop hello-world
  • 删除容器、镜像
docker rm -f hello-world
docker rmi hello-world
  • docker自启动
systemctl enable docker.service
  • 进入容器命令行
docker exec -it hello-world bash

posted on 2025-02-13 09:56  涂山喵喵  阅读(54)  评论(0)    收藏  举报

导航