【双雄压榨】本地机访问宿主机Portainer(9000端口)

补充上篇文章详细步骤:
架构详解:《双雄并发,各司其职》------什么?废旧电脑也可以当开发服务器了?不是挖矿的?妈妈再也不用担心我的服务器被干了!

要将虚拟机中的 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 &

访问验证流程

  1. 确保虚拟机Portainer运行

    bash 复制代码
    docker ps | grep 9000
  2. 建立SSH隧道(MobaXterm或终端)

  3. 浏览器访问http://localhost:9000

  4. 登录Portainer

    • 用户名:admin
    • 密码:您设置的密码
    • 选择Local Docker环境
  5. 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!

相关推荐
Victor3563 小时前
https://editor.csdn.net/md/?articleId=139321571&spm=1011.2415.3001.9698
后端
Victor3563 小时前
Hibernate(89)如何在压力测试中使用Hibernate?
后端
灰子学技术5 小时前
go response.Body.close()导致连接异常处理
开发语言·后端·golang
Gogo8166 小时前
BigInt 与 Number 的爱恨情仇,为何大佬都劝你“能用 Number 就别用 BigInt”?
后端
fuquxiaoguang6 小时前
深入浅出:使用MDC构建SpringBoot全链路请求追踪系统
java·spring boot·后端·调用链分析
毕设源码_廖学姐6 小时前
计算机毕业设计springboot招聘系统网站 基于SpringBoot的在线人才对接平台 SpringBoot驱动的智能求职与招聘服务网
spring boot·后端·课程设计
昀贝7 小时前
IDEA启动SpringBoot项目时报错:命令行过长
java·spring boot·intellij-idea
野犬寒鸦8 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
逍遥德8 小时前
如何学编程之01.理论篇.如何通过阅读代码来提高自己的编程能力?
前端·后端·程序人生·重构·软件构建·代码规范
MX_93599 小时前
Spring的bean工厂后处理器和Bean后处理器
java·后端·spring