You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ IDEA使用docker-compose无法将本地jar映射到远程Docker容器

Docker Compose 挂载Jar包变为目录问题解决方案

问题根因

你在本地docker-compose.yml中写的相对路径./dockerdemo-0.0.1-SNAPSHOT.jar,是相对于远程服务器上docker-compose.yml执行时的工作目录,而非你本地电脑的文件路径。当远程服务器的对应目录下不存在该jar文件时,Docker会默认创建同名目录进行挂载,因此进入容器后看到的是目录而非jar文件。

解决方案

方案1:手动上传Jar包到远程服务器

  • 首先将本地打包生成的dockerdemo-0.0.1-SNAPSHOT.jar文件,上传到远程CentOS服务器中docker-compose.yml存放的同级目录下
  • 执行以下命令删除之前错误生成的残留目录:
rm -rf /path/to/docker-compose/dir/dockerdemo-0.0.1-SNAPSHOT.jar
  • 重新执行docker-compose启动命令即可正常挂载文件

方案2:结合Dockerfile在docker-compose中直接构建镜像(推荐,适配IDEA远程部署场景)

你之前已经验证过Dockerfile可以正常运行,直接修改docker-compose.yml配置即可,无需手动挂载jar包:

  1. 把Dockerfile、dockerdemo-0.0.1-SNAPSHOT.jar、docker-compose.yml放在本地项目的同一目录下
  2. 修改docker-compose.yml内容如下:
version: "3"
services:
  dockerDemo2:
    build: . # 自动读取当前目录的Dockerfile构建镜像
    container_name: dockerDemo2
    privileged: true
    environment:
      TZ: Asia/Shanghai
      LANG: es_US.UTF-8
    ports:
      - 8080:8080
  1. 在IDEA中配置好远程Docker上下文后,直接执行docker-compose的启动操作,IDEA会自动将本地上下文(包含jar包、Dockerfile)同步到远程服务器完成镜像构建和容器启动,不会出现文件挂载异常问题。

内容的提问来源于stack exchange,提问作者Raya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 09:12:07