使用linux docker环境打包Springboot jar包为docker镜像
linux配置jdk环境
略
linux配置mvn环境
略
安装docker环境
参考上一篇文章
获取jdk8镜像,用于后面构建自己的项目镜像
docker pull ascdc/jdk8
执行命令后,会从默认的官方库获取镜像:https://hub.docker.com/r/ascdc/jdk8
docker images
可查看所有镜像
构建项目镜像过程
- 上传自己的项目jar包
- 编写Dockerfile
FROM williamyeh/java8:latest
VOLUME /tmp
ADD kvf-admin.jar /app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
- 执行构建镜像命令
进入jar包和Dockerfile所在目录执行:
docker build -t kvf-admin .
kvf-admin是生成的镜像名。(别忘了后面的点)
如图:
使用docker images可查看是否有kvf-admin.
4.运行:
docker run -d -p 8100:8077 kvf-admin
docker ps
可以查看正在运行的容器
对于docker容器里面连接不到本地mysql的问题:
1. 首先查看MySQL监听的IP和端口,如图:
netstat -anp | grep 3306
输入命令查看MySQL监听的ip和端口
这时候连接数据库的写法直接写ip + port就好了。比如我的:192.168.2.243:3306
ps:(未在云服务器测试)
2. 下面我第一次用的解决方法,它在我的物理物理服务器断电重启后就失效了,原因不明。,输入命令:ifconfig 如图:
127.18.0.1
就是我要用的地址,把mysql连接的localhost改为它,即连接成功。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律