Docker部署SpringBoot项目

1.准备一个SpringBoot项目

 

 

2.安装Docker

Docker运行在CentOS 7上,要求操作系统为64位,内核版本为3.10及以上。
确认本机已经安装了满足要求的Linux内核。使用命令uname -r来检查内核版本信息。

[root@localhost ~]# uname -r
3.10.0-957.el7.x86_64

 

安装Docker

使用命令yum install -y docker安装Docker,“-y”表示不询问,使用默认配置进行安装。

 

 

 

启动Docker服务,并设置为开机自启动

#启动
systemctl start docker.service

#开启自启动 systemctl enable docker.service

#查看docker版本
docker version

 

 

 3.配置DockerFile文件

     新建文件夹并创建对应文件

复制代码
cd /home

mkdir DockerDeploy

cd DockerDeploy

touch Dockerfile #插入如下内容


复制代码

 

 

复制代码
FROM java:8

VOLUME /tmp

ADD my-blog-4.0.0-SNAPSHOT.jar app.jar

RUN bash -c "touch /app.jar"

EXPOSE 8080

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
复制代码

Remark:

FROM指令指定一个已经存在的镜像,告诉Docker后续的指令都是在这个基础上进行的。例如:FROM java:8表示使用 Jdk1.8 环境为基础镜像进行构建镜像。

VOLUME ,VOLUME 指向了一个/tmp的目录,由于Spring Boot使用内置的Tomcat容器,Tomcat 默认使用/tmp作为工作目录。这个命令的效果是:在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录

ADD ,拷贝文件并且重命名

ENTRYPOINT,为了缩短Tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为ENTRYPOINT

 

4.上传jar包(上传步骤一中准备好的jar包)

 

 5.构建镜像(镜像名需要小写)

Remark:第一次构建会耗时比较久

# 构建镜像
docker build -t blog .

 

6.检查镜像

docker images

 

7.构建容器并运行

 

docker run -d --name=myblog -p 8080:8080 blog

#查看容器
docker ps

#查看日志
docker logs -f id

 

 

 

解释说明

 

run: 容器启动命令

 

--name boot-docker 自定义容器命名

 

-d 程序后台启动

 

-v /opt/jar/boot-docker/logs:/log 应用日志 数据卷的方式存储

 

-p 8000:8000 用主机8000端口映射容器端口

 

boot-docker 镜像名称

 

 

8.访问检测正常

 

 9.打tag,推送到私人仓库,下次直接拉取使用

 

posted @   Mr_伍先生  阅读(658)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2017-03-26 JS 创建长度为100的数组,数值为角标
2017-03-26 数组中的push()和pop()方法
2017-03-26 js splice()方法
2017-03-26 js 的 slice方法
2017-03-26 Object.keys方法
2017-03-26 js循环遍历的两种方法for循环和for ... in 循环
2017-03-26 Array.apply 方法的使用
点击右上角即可分享
微信分享提示