最新版idea2025 配置docker 打包spring-boot项目到生产服务器全流程,含期间遇到的坑

1.idea安装docker插件,新版的idea已经自动集成docker插件了

使用tcp套接字连接你的服务器端口号是2375

注意:远程服务器docker要开启远程访问 使用命令进入这个文件里面 vim /usr/lib/systemd/system/docker.service

搜索ExecStart找到这行修改成和我下面的一样,实际就是在这一行追加上-H tcp://0.0.0.0:2375

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375

2.连接上之后就变成下面的,证明服务器已经连接上,能看到容器、镜像等等信息

3.项目根目录编写你的Dockerfile文件

4.这是我的dockerfile内容,你可以写自己的

复制代码
# 使用官方 OpenJDK 8 Alpine 镜像
FROM openjdk:8-jdk-alpine

# 安装字体依赖,并创建 jar 目录
RUN apk add --no-cache ttf-dejavu fontconfig \
    && mkdir -p /springboot/jar

# 设置工作目录
WORKDIR /springboot/jar

# 复制应用 jar
ADD test-admin/target/test-admin.jar /springboot/jar/test-admin.jar

# 设置语言环境
ENV LANG=C.UTF-8

# 暴露端口
EXPOSE 8090

# 启动命令
ENTRYPOINT ["java", \
    "-Duser.timezone=Asia/Shanghai", \
    "-Dfile.encoding=UTF-8", \
    "-Dspring.profiles.active=test", \
    "-Djava.awt.headless=true", \
    "-jar", "test-admin.jar", \
    "-Djava.security.egd=file:/dev/urandom"]

4.idea配置dockerfile运行

5.详细的配置

注意:镜像标识写你自己的镜像名字

注意:点击修改进行绑定端口。你的宿主机和容器里面的端口映射一定要配置好。

6.配置完成之后就可以点击运行dockerfile了

下面是坑点:我打包编译都完成了最后运行dockerfile的时候报这个错误折腾了半天,最后才知道在idea中本地运行dockerfile需要用到docker的运行环境

复制代码
Cannot run program "docker" (in directory "..."): CreateProcess error=2, 系统找不到指定的文件。

如果报这个错说明 Docker 没加入系统环境变量或未安装,我们不需要下载重量级的docker桌面客户端只要下载轻量级的运行环境就行。

下载轻量级的docker windows版本的运行环境,并且加入到环境变量里面就好了,下面是下载地址

https://docs.docker.com/engine/install/binaries/#install-server-and-client-binaries-on-windows

例如下面是我下载完放的目录

验证docker环境是否成功

显示这个就证明没有问题了。

idea会自动的生成镜像,并且把镜像推送到服务器,并且自动运行容器。

相关推荐
xuefeiniao1 分钟前
Docker 部署宝塔面板 Nginx 反向代理 502 踩坑实录
nginx·docker·容器
csdn_aspnet8 分钟前
GitOps宣言:Kubernetes配置的版本化革命
云原生·容器·kubernetes·gitops
zdl68638 分钟前
Spring Boot文件上传
java·spring boot·后端
世界哪有真情41 分钟前
哇!绝了!原来这么简单!我的 Java 项目代码终于被 “拯救” 了!
java·后端
RMB Player42 分钟前
Spring Boot 集成飞书推送超详细教程:文本消息、签名校验、封装工具类一篇搞定
java·网络·spring boot·后端·spring·飞书
重庆小透明1 小时前
【搞定面试之mysql】第三篇 mysql的锁
java·后端·mysql·面试·职场和发展
H_老邪1 小时前
Linux 与 Docker 常用命令
linux·运维·服务器·docker
RuoyiOffice1 小时前
企业请假销假系统设计实战:一张表、一套流程、两段生命周期——BPM节点驱动的表单变形术
java·spring·uni-app·vue·产品运营·ruoyi·anti-design-vue
鹤旗1 小时前
While语句,do-while语句,for语句
java·jvm·算法
小碗羊肉1 小时前
【从零开始学Java | 第十八篇】BigInteger
java·开发语言·新手入门