最新版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会自动的生成镜像,并且把镜像推送到服务器,并且自动运行容器。

相关推荐
敲代码的嘎仔17 分钟前
用 Redis 合并写 + DelayQueue 延迟检测,把视频播放进度写库频率降到 1/60
java·开发语言·数据库·redis·缓存·音视频·高并发
墨香幽梦客35 分钟前
Kubernetes+Istio实现CRM系统弹性伸缩:服务网格下的流量治理与熔断策略
容器·kubernetes·istio
新时代牛马38 分钟前
单机 docker run 管不住了?从编排需求、期望状态到调度/自愈闭环讲透
运维·docker·容器
youyou-06061 小时前
AUTOSAR‑COM 常见问题 QA (1)
java·linux·服务器·单片机·汽车
谢亮_vipxieliang1 小时前
ValidX时间段验证详解:ISO 8601标准与简化格式
java·spring boot·后端·spring·spring cloud·hibernate
Lsetea1 小时前
Java 请求 HTTPS 报 PKIX path building failed:从证书链到 truststore 的完整排查
java·https·ssl证书·keytool·truststore
binqian1 小时前
Docker Desktop(WSL2 后端)三层网络互通技术文档
网络·docker·容器
蓝桉柒72 小时前
java判断语句
java·开发语言
Zane19942 小时前
String::compareTo凭什么能当参数传?方法引用的四种形式讲透
java·后端
青山木2 小时前
Hot 100 --- 打家劫舍
java·数据结构·算法·leetcode·动态规划