补充上篇文章详细步骤:
架构详解:《双雄并发,各司其职》------什么?废旧电脑也可以当开发服务器了?不是挖矿的?妈妈再也不用担心我的服务器被干了!
要将虚拟机中的 Portainer 通过 宿主机IP:9000 访问,需要通过 SSH隧道 或 端口转发 实现。以下是完整配置方案:
🎯 方案A:SSH隧道(推荐 - 最安全)
1. 虚拟机中启动Portainer容器
bash
# 在虚拟机(192.168.172.101)执行
docker run -d \
--name portainer \
--restart=always \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce
# 验证容器运行
docker ps | grep portainer
# 应显示 0.0.0.0:9000->9000/tcp
2. 主开发机配置SSH隧道(MobaXterm)
在MobaXterm中配置隧道转发:
ini
# 打开MobaXterm → Tunneling → New SSH tunnel
# 配置参数:
Local port forwarding
- My computer with MobaXterm: 9000
- SSH server: 192.168.1.54:2222
- Remote server: 192.168.172.101:9000
3. 浏览器访问
bash
# 主开发机浏览器输入:
http://localhost:9000
# 初始化设置:
# - 用户名:admin
# - 密码:设置新密码
# - 选择"Docker"环境
🎯 方案B:VMware端口转发(备选)
1. 配置VMware端口映射
ini
# VMWare → 192.168.1.54 → 虚拟网络编辑器 → NAT设置 → 添加
主机端口:9000
虚拟机IP:192.168.172.101
虚拟机端口:9000
协议:TCP
2. 浏览器直接访问
bash
# 主开发机浏览器输入:
http://192.168.1.54:9000
🎯 方案C:IDEA直接集成(最便捷)
1. IDEA配置SSH隧道
bash
# Settings → Tools → SSH Configurations → Add
Host: 192.168.1.54
Port: 2222
User name: fql
Authentication: Password 或 Key pair
2. IDEA配置Docker连接
bash
# Settings → Build, Execution, Deployment → Docker → Add
Name: Docker-VM-Remote
TCP socket: tcp://localhost:9000
3. 浏览器访问Portainer
bash
# 在IDEA中打开SSH终端
# 执行:ssh -L 9000:192.168.172.101:9000 fql@192.168.1.54 -p 2222
# 浏览器访问
http://localhost:9000
📊 三种方案对比
| 方案 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| A. SSH隧道 | 安全加密,无需修改VMware | 需保持SSH连接 | 长期使用,安全要求高 |
| B. 端口转发 | 配置一次永久生效 | 暴露端口到局域网 | 临时测试 |
| C. IDEA集成 | 开发环境一体化 | IDEA需保持运行 | 纯开发场景 |
🔧 一键SSH隧道命令(MobaXterm/终端)
bash
# 在主开发机(192.168.1.27)执行
ssh -L 9000:192.168.172.101:9000 -N fql@192.168.1.54 -p 2222
# 参数说明:
# -L 9000:192.168.172.101:9000 # 本地9000转发到虚拟机9000
# -N # 不执行远程命令,纯端口转发
# -p 2222 # SSH端口
后台运行方式:
bash
ssh -L 9000:192.168.172.101:9000 -N fql@192.168.1.54 -p 2222 &
✅ 访问验证流程
-
确保虚拟机Portainer运行:
bashdocker ps | grep 9000 -
建立SSH隧道(MobaXterm或终端)
-
浏览器访问 :
http://localhost:9000 -
登录Portainer:
- 用户名:
admin - 密码:您设置的密码
- 选择Local Docker环境
- 用户名:
-
IDEA验证连接:
bash# 在IDEA Services中应能看到Docker容器列表
⚠️ 故障排查
1. 隧道建立失败
bash
# 检查SSH连通性
ssh -v fql@192.168.1.54 -p 2222
2. 端口9000被占用
bash
# 更换本地端口
ssh -L 9001:192.168.172.101:9000 fql@192.168.1.54 -p 2222
# 浏览器访问:http://localhost:9001
3. Portainer容器未启动
bash
# 虚拟机中检查
docker logs portainer
推荐方案A:通过MobaXterm配置永久SSH隧道,日常使用只需打开MobaXterm并连接,即可在浏览器和IDEA中随时访问Portainer!