intellij idea 默认不支持远程 docker 容器直连,必须启用 docker 插件并正确配置 tcp socket 连接;community 版需手动安装插件,ultimate 版虽内置但可能被禁用,未勾选插件复选框将导致 services 工具窗口无 docker 节点。

IntelliJ IDEA 默认不支持远程 Docker 容器直连,必须通过插件 + 正确连接配置才能操作远程镜像或容器;Community 版需手动安装插件,Ultimate 版已内置但可能被禁用。
Docker 插件在 IDEA 中是否已启用
很多人点开 Services 工具窗口却看不到 Docker 节点,根本原因是插件没启用,而不是没装。
- 按
Ctrl+Alt+S(Windows/Linux)或Cmd+,(macOS)打开设置 - 进入
Plugins→ 切换到Installed标签页 - 搜索
Docker,确认复选框已勾选 —— 如果没看到,说明 Community 版未安装,需先点击Marketplace搜索并安装 - 重启 IDEA 后,再通过
View → Tool Windows → Docker打开面板验证
远程 Docker 连接必须用 TCP Socket,不能只靠 SSH
IDEA 的 Docker 插件不解析 SSH 命令,它需要一个可直连的 Docker daemon API 地址。所谓“SSH 连接”只是文档里的误导性说法,实际仍需在远程机器上暴露 TCP 端口。
- 远程服务器(如 Linux)需修改
/etc/docker/daemon.json,加入:{"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]} - 重启 Docker:
sudo systemctl restart docker - 确保防火墙放行 2375 端口(生产环境务必加 TLS 或仅限内网)
- 在 IDEA 的
Settings → Build, Execution, Deployment → Docker中点击+,选择TCP socket - Host 填
tcp://:2375,测试连接成功才算通
连接成功后仍看不到远程镜像?检查上下文权限
即使连接绿色打钩,Images 和 Containers 节点下仍是空的,大概率是远程 Docker daemon 没有返回完整列表 —— 这通常和用户权限或 daemon 配置有关。
- 远程执行
docker images和docker ps -a,确认命令能正常输出 - 如果提示
permission denied,说明当前用户不在docker用户组,需运行sudo usermod -aG docker $USER并重新登录 - IDEA 连接的是 daemon API,不是 shell,所以别指望它读取你本地
~/.docker/config.json—— 私有仓库认证必须在 IDEA 的Docker → Registry里单独配 - 若远程用的是 rootless Docker,IDEA 目前不兼容,会静默失败
从 Dockerfile 构建并推送到远程仓库,关键在标签和 registry 配置
右键 Dockerfile → Build Image 默认只打本地 tag,不推;要推到远程,必须显式指定带 registry 前缀的 tag,并提前配好 registry 登录信息。
- 构建时,在运行配置的
Tag字段填完整路径,例如:my-registry.example.com/myapp:1.0 - 在
Settings → Build, Execution, Deployment → Docker → Registry添加该 registry,填入用户名/密码或 token - 勾选
Push on build,否则只 build 不 push - 注意:IDEA 不会自动
docker login,registry 配置错误会导致unauthorized: authentication required错误
远程 Docker 连接最常卡在 daemon 是否真正监听 TCP、用户是否有权访问 daemon、以及 registry 认证是否独立配置 —— 这三处任一缺失都会让 IDEA 显示“连接成功”却无任何镜像数据。别信绿色对勾,得看 Images 下有没有东西。











