在服务器或无界面 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:
- ✅ 环境隔离
- ✅ 无需本地安装
- ✅ 支持浏览器访问
- ✅ 配置可持久化
- ✅ 适合长期运行