【原创实践】使用 Docker 部署 IntelliJ IDEA(linuxserver/intellij-idea)完整指南

在服务器或无界面 Linux 环境中使用 IntelliJ IDEA 一直是个痛点。

借助 Docker + linuxserver/intellij-idea 镜像,我们可以非常方便地通过浏览器远程使用 IDEA,实现「即开即用、环境隔离」。

本文将详细介绍如何通过一条 docker run 命令部署 IntelliJ IDEA,并解释每个参数的作用。


一、准备环境

在开始之前,请确保你的系统已经安装:

  • Docker(20.x 及以上)
  • Linux / macOS / Windows(WSL2)

验证 Docker 是否安装成功:

bash 复制代码
docker -v

二、docker run 启动 IntelliJ IDEA

下面是一条完整、推荐的启动命令:

bash 复制代码
docker run -d \
  --name=intellij-idea \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Etc/UTC \
  -p 3000:3000 \
  -p 3001:3001 \
  -v ./config:/config \
  --shm-size="4gb" \
  --restart unless-stopped \
  linuxserver/intellij-idea:42025.2.5

执行完成后,容器会在后台启动。


三、参数详解(重点)

1️⃣ 容器运行模式

bash 复制代码
-d
  • 后台运行容器(daemon 模式)
bash 复制代码
--name=intellij-idea
  • 指定容器名称,方便后续管理

2️⃣ 用户权限映射(非常重要)

bash 复制代码
-e PUID=1000
-e PGID=1000
  • 指定容器内进程使用的用户 ID 和组 ID
  • 避免挂载目录出现 权限问题
  • 1000 通常是 Linux 默认用户的 UID/GID

你可以通过以下命令查看本机 UID / GID:

bash 复制代码
id

3️⃣ 时区设置

bash 复制代码
-e TZ=Etc/UTC
  • 设置容器时区
  • 可按需修改,例如中国大陆可用:
bash 复制代码
-e TZ=Asia/Shanghai

4️⃣ 端口映射

bash 复制代码
-p 3000:3000
-p 3001:3001
  • 3000:IDEA Web UI 访问端口
  • 3001:WebSocket / 辅助服务端口

访问方式示例:

text 复制代码
http://localhost:3000/

5️⃣ 数据持久化(配置目录)

bash 复制代码
-v ./config:/config
  • 将 IDEA 的配置、插件、缓存持久化到宿主机
  • 容器删除后,配置仍然保留
  • 建议使用绝对路径,例如:
bash 复制代码
-v /data/intellij/config:/config

6️⃣ 共享内存设置(性能关键)

bash 复制代码
--shm-size="4gb"
  • 提高共享内存大小
  • 强烈建议设置 ≥ 2GB
  • 否则 IDEA 可能出现卡顿、崩溃、白屏等问题

7️⃣ 自动重启策略

bash 复制代码
--restart unless-stopped
  • Docker 或服务器重启后自动启动
  • 手动 docker stop 时不会再自动拉起

8️⃣ 使用的镜像版本

bash 复制代码
linuxserver/intellij-idea:42025.2.5
  • 来自 linuxserver.io 官方维护
  • 指定版本号,避免 latest 带来的不确定性
  • 可按需替换为其他版本

四、访问 IntelliJ IDEA

启动完成后,浏览器访问:

text 复制代码
http://<服务器IP>:3000

首次进入时:

  • 会加载 Web 桌面
  • 可进行 IntelliJ IDEA 初始化
  • 支持安装插件、登录 JetBrains 账号

五、常用 Docker 管理命令

查看容器状态

bash 复制代码
docker ps

查看日志

bash 复制代码
docker logs -f intellij-idea

停止 / 启动容器

bash 复制代码
docker stop intellij-idea
docker start intellij-idea

删除容器(不删除配置)

bash 复制代码
docker rm intellij-idea

六、适用场景

✔ 远程服务器开发

✔ 云 IDE / 内网开发环境

✔ 多人共享开发主机

✔ 不想在本机安装 IDEA


七、总结

通过 Docker 部署 IntelliJ IDEA:

  • ✅ 环境隔离
  • ✅ 无需本地安装
  • ✅ 支持浏览器访问
  • ✅ 配置可持久化
  • ✅ 适合长期运行
相关推荐
guo_wen_qiang3 小时前
docker的备份与迁移
运维·docker·容器
小小龙学IT6 小时前
Kubernetes 深度实践:架构、API 与避坑指南
容器·架构·kubernetes
cpolar技术支持8 小时前
外网测试机的异常传不回内网?自托管 Sentry,用 cpolar 打通错误上报链路
python·nginx·docker·cpolar·sentry
MrSYJ10 小时前
别人再问你路由表是啥,这篇文章摔它脸上
docker·云原生·kubernetes
羑悻11 小时前
穿越Docker内核迷雾:揭秘镜像分层存储的叠加态与卷挂载的多维空间穿梭技术
后端·docker·容器
for_ever_love__12 小时前
容器类型全家桶——list、tuple、dict、set 与推导式
python·容器·数据类型·大模型开发
筑梦之路12 小时前
docker-compose方式部署kafka集群(Kraft方式)——筑梦之路
docker·容器·kafka
CarIise12 小时前
IDEA与Maven基础课堂笔记
java·intellij-idea·caffe
JavaPub-rodert13 小时前
Docker 镜像地址总失效?基于 DockerHub 项目用 GitHub Actions 做一个自动检测状态页
docker·容器·github
天衍四九-13 小时前
Docker 进阶实战系列(一):容器镜像安全,最小镜像与非 Root 运行
安全·docker·eureka