Skip to main content

通过Portainer远程管理内网Docker容器

Docker是一种开源的应用容器引擎,它允许开发人员将应用程序及其所有依赖项打包到一个独立的容器中,从而实现快速部署、可移植性和环境一致性,以其轻量化、快速启动、可移植性和易于管理等特性,在软件开发和部署领域得到了广泛应用,

Portainer是一款开源的轻量级容器管理工具,提供了直观的图形用户Web界面,用户无需深入学习命令行工具,即可轻松实现Docker镜像与容器的部署、管理和监控,适用于各种规模的容器环境。

利用零讯内网穿透,管理员可在任意位置通过互联网远程登录 Portainer Web管理UI,对容器镜像及容器进行在线添加、删除、停止等操作,在出差、家里时,也能轻松完成企业内部软件系统部署与维护。

下面以Centos7为例,在Centos7 上部署零讯内网穿透与Portainer容器管理平台

先决条件

  1. 拥有一个有效的 ZeroNews 账户

第 1 步:部署 Portainer

通过容器部署 Portainer ,简单3步即可快速完成部署

1.首先创建数据卷,实现数据持久化

docker volume create portainer_db

2.拉取 Portainer 镜像

docker pull portainer/portainer

3.启动 Portainer 容器

docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_db:/data portainer/portainer

-p 9000:9000 :映射 portainer 管理平台端口 9000 到 主机 9000 端口
-v portainer_db:/data :将portainer_db 数据卷 挂载到 portainer容器 /data 目录
-v /var/run/docker.sock:/var/run/docker.sock : 将/var/run/docker/sock 挂载到 portainer容器 /var/run/docker.sock

4.容器 Portainer 启动后,可以通过 docker ps 查看运行的 Portainer 容器,并通过主机IP访问 Portainer 管理平台

在浏览器中输入 http://主机IP:9000 访问Portainer 管理平台

设置完 Portainer 管理平台 admin账号的密码后,就可以正常登录 Portainer 管理平台

点击 local ,在点击 Containners ,可以查看主机运行的容器,

添加容器, 点击 “Add containner” 可以添加容器

Portainer 安装完成后,接下来在Centos 主机上安装 ZeroNews 程序

第 2 步:在CentOS主机上运行 ZeroNews

参考 Linux 中运行 ZeroNews , 在 Linux 服务器上运行 ZeroNews,绑定 Token, 完成 ZeorNews 客户端上线。

第 3 步:为 Portainer 管理平台分配域名

  1. 添加用于 Portainer 管理平台的公网域名

用户登录 ZeroNews 平台,在 "资源" 的 "域名" 管理页面, 点击 "添加域名" 添加公网可访问的域名。

  • 生效设备: 选择对应的 Centos ZeroNews 设备。
  • 域名前缀: 用户输入定义的 域名前缀,如 portainer
  • 在“添加端口”步骤,勾选“HTTP"端口。

第 4 步:为 Portainer 管理平台添加公网映射

1.进入"应用"页面,点击 "添加应用" 添加 Portainer 应用。

  • 应用名称: 如输入 Portainer

2.应用添加完成后, 在应用的下拉列表中,添加Portainer 管理平台的 HTTP 映射

  • 映射协议:选择 HTTP 协议
  • 公网访问地址:选择 portainer 域名,如 portainer.south.takin.cc
  • 映射带宽: 为映射分配带宽,不大于用户当前的最大可用带宽
  • 内网映射地址:内网IP地址默认输入 127.0.0.1 内网端口输入Portainer 管理平台的端口号 9000

Portainer 管理平台的映射添加完成后,可在应用详情中可查看添加好的映射列表.

在浏览器中,输入 http://portainer.south.takin.cc,就可以远程管理企业内部的 Docker 容器