一图看懂Docker管理 Portainer:cpoar内网穿透实验室第652个成功挑战

软件名称:Portainer(Docker可视化管理神器)

操作系统支持:

  • 全平台通吃:Windows、macOS、Linux都行,连树莓派都能装!

软件介绍:

Portainer是给Docker穿上的"人形外骨骼",把冷冰冰的命令行变成拖拽式操作界面。就像把Excel变成了《模拟人生》,让小白也能像搭乐高一样管理容器、镜像和网络,还支持一键备份/恢复,简直是运维人员的防秃神器!

Portainer的出色功能

  • 可视化"一目了然":所有容器运行状态用红绿灯显示(绿灯=健康!红灯=快救命!)。
  • 傻瓜式部署:拖拽一个Nginx镜像,3秒生成网站容器,比用微信扫二维码还快。
  • 远程监控"千里眼":即使在星巴克喝咖啡也能用手机App远程重启崩溃的数据库服务。

实用场景

场景1:个人开发者的小黑屋计划

  • 痛点:想在家用NAS搭建私有云,但命令行配置Nextcloud折磨到失眠?
  • 爽点:Portainer直接拖拽部署Nextcloud容器,再用cpolar穿透,手机随时刷剧、备份照片,邻居以为你租了AWS服务器!

场景2:团队协作的"防菜鸡互啄"神器

  • 痛点:新同事误删生产环境?大佬出差时没人敢动服务器?
  • 爽点:Portainer给不同成员分配角色权限(比如实习生只能看,老板才能删),配合版本回滚功能,让团队协作像打王者一样有保护机制。

cpolar内网穿透技术带来的便利

  • "魔法门"开光体验:本地服务秒变公网访问,无需路由器端口映射!以前要折腾三天的NAS远程访问,现在用cpolar配置5分钟搞定。
  • 省下买云服务器的钱:想展示新项目给海外客户?直接穿透Portainer面板,对方点链接就能看到你的Docker集群运行状态,成本0元!
  • 随时随地"秀操作":在咖啡馆帮朋友远程修复网站漏洞?用手机访问穿透后的Portainer,边喝拿铁边点击重启按钮,帅到隔壁桌小姐姐都要加你微信。

总结

Portainer+cpolar的CP组合堪称"内网自由夫妇"!前者把Docker变成乐高积木,后者帮你把积木搭在全世界都能看到的地方。无论是个人玩转容器,还是企业轻量级云管理,这套组合拳省下的时间够你多刷三季《权力的游戏》了!

这美好的软件组合还不快来安装。教程都准备好了哦👇:

本篇文章介绍如何在Ubuntu中使用docker本地部署Portainer CE可视化管理工具,并结合cpolar实现公网远程管理容器和镜像。

接下来,讲解如何使用docker在本地Linux环境部署Portainer CE。

1. 本地安装Docker

本教程操作环境为Linux Ubuntu系统,在开始之前,我们需要先安装Docker。

在终端中执行一键安装脚本命令安装docker:

arduino 复制代码
sudo curl -fsSL https://gitee.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh | bash -s docker --mirror Aliyun

配置docker镜像源

在终端执行

bash 复制代码
sudo nano /etc/docker/daemon.json 

输入下列内容,保存退出。

json 复制代码
{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://docker.1panel.live"
    ]
}

然后重新启动docker服务:

复制代码
sudo systemctl restart docker

2. 本地部署Portainer CE

下载portainer-ce镜像,这里选择版本是latest版本。

bash 复制代码
sudo docker pull portainer/portainer-ce:latest

创建 Portainer Server 将用于存储其数据库的卷

lua 复制代码
sudo docker volume create portainer_data

下载并安装 Portainer Server 容器

javascript 复制代码
sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.21.2

Portainer Server 现已安装。您可以通过运行 来检查 Portainer Server 容器是否已启动:docker ps

现在安装已完成,您可以通过打开 Web 浏览器输入 https://localhost:9443 来登录您的 Portainer Server (注册登录账号)

登录后,进入到 portainer-ce首页

点击左侧 Containers,检查宿主机内所有容器,会显示所有容器列表

选择一个容器,选择图形化展示

点击 images,查看本地宿主机内所有容器镜像

点击 Networks,查看docker容器网络情况

点击 Host,查看宿主机内系统信息

上面在本地Linux中成功部署了Portainer-CE,并局域网访问成功。如果想在公网远程管理Portainer-CE,就可以创建一个公网地址,这里我使用的是cpolar内网穿透,通过cpolar转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器,可节省大量的资金。

3. 公网远程访问本地Portainer-CE

3.1 内网穿透工具安装

下面是安装cpolar步骤:

Cpolar官网地址: www.cpolar.com

使用一键脚本安装命令

arduino 复制代码
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

lua 复制代码
sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

3.2 创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理------创建隧道:

  • 隧道名称:可自定义,本例使用了: portainer 注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:https://localhost:9443
  • 域名类型:随机域名
  • 地区:选择China Top

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。

如下图所示,成功实现使用公网地址异地远程访问本地部署的Portainer

使用上面的cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到我们Portainer管理界面,这样一个利用公网地址可以进行远程访问的隧道就创建好了,隧道使用了cpolar的公网域名,无需自己购买云服务器,可节省大量资金。使用cpolar创建隧道即可发布到公网进行远程访问,新域名登录,可能需要重新登陆!

4. 固定Portainer CE公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择china vip top,然后设置一个二级子域名名称,填写备注信息,点击保留。

保留成功后复制保留的二级子域名地址:

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理------隧道列表,找到所要配置的隧道,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China VIP

点击更新

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

最后,我们使用固定的公网地址访问 Portainer CE管理界面可以看到访问成功,一个永久不会变化的远程访问方式即设置好了。

接下来就可以随时随地进行公网访问管理Portainer CE了,把公网地址分享给身边的人,还可以方便团队协作。自己用的话,无需云服务器,还可以实现异地远程访问!以上就是如何在Linux Ubuntu系统本地安装Portainer CE的全部过程。

总结:在云原生时代,工具整合与网络穿透技术正在重塑容器管理范式。通过构建自主可控的技术栈,则让从基础监控到复杂部署的全流程实现全场景覆盖------这不是简单的功能叠加,而是为运维团队开辟了真正的效率跃迁通道。

相关推荐
AI大模型3 小时前
构建完全本地的MCP客户端:让AI智能体与数据库无缝对话
程序员·agent·mcp
右子3 小时前
微信小程序开发“闭坑”指南
前端·javascript·微信小程序
入秋3 小时前
Three.js后期处理实战:噪点 景深 以及色彩调整
前端·javascript·three.js
Asort3 小时前
JavaScript设计模式(七)——桥接模式:解耦抽象与实现的优雅之道
前端·javascript·设计模式
golang学习记4 小时前
从0死磕全栈之Next.js 应用中的认证与授权:从零实现安全用户系统
前端
苏打水com4 小时前
携程前端业务:在线旅游生态下的「复杂行程交互」与「高并发预订」实践
前端·状态模式·旅游
Darenm1114 小时前
深入理解CSS BFC:块级格式化上下文
前端·css
Darenm1114 小时前
JavaScript事件流:冒泡与捕获的深度解析
开发语言·前端·javascript
@大迁世界4 小时前
第03章: Vue 3 组合式函数深度指南
前端·javascript·vue.js·前端框架·ecmascript