Linux上部署Portainer并通过内网穿透实现远程Docker容器管理

作者:c4t2024.03.22 19:40浏览量:15

简介:本文将指导如何在Linux上部署Portainer,并通过内网穿透技术实现远程管理本地Docker容器。通过Portainer的图形化界面,您可以轻松管理Docker容器,而内网穿透技术则让您能够在任何地点通过互联网访问本地Docker环境。

引言

随着容器化技术的普及,Docker已成为许多开发者和运维人员的首选工具。然而,对于初学者来说,Docker的命令行操作可能有些复杂。Portainer是一个开源的Docker容器管理工具,提供了图形化界面,使得Docker容器的管理变得更加直观和简单。但是,Portainer通常需要在本地网络环境中使用,如何在外网环境下访问和管理本地Docker容器呢?这时,内网穿透技术就显得尤为重要。

部署Portainer

1. 安装Docker

首先,确保您的Linux系统上已经安装了Docker。可以使用以下命令检查Docker是否已安装:

  1. docker --version

如果未安装Docker,请参考Docker官方文档进行安装。

2. 拉取Portainer镜像

使用以下命令从Docker Hub拉取Portainer镜像:

  1. docker pull portainer/portainer

3. 启动Portainer容器

创建一个名为portainer_data的数据卷,用于存储Portainer的配置和持久化数据:

  1. docker volume create portainer_data

然后,运行以下命令启动Portainer容器,并映射容器的9000端口到主机的9000端口:

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

内网穿透配置

内网穿透技术有很多实现方式,这里以frp为例进行说明。

1. 下载frp

访问frp项目GitHub页面,下载适合您操作系统的frp版本。

2. 配置frps

在具有公网IP的服务器上运行frps,并编辑frps.ini配置文件,例如:

  1. [common]
  2. bind_port = 7000

然后启动frps服务:

  1. ./frps -c frps.ini

3. 配置frpc

在您的Linux主机上运行frpc,并编辑frpc.ini配置文件,例如:

  1. [common]
  2. server_addr = 公网IP
  3. server_port = 7000
  4. [portainer]
  5. type = tcp
  6. local_ip = 127.0.0.1
  7. local_port = 9000
  8. remote_port = 6000

其中,server_addr为frps所在的公网IP,local_port为Portainer容器的端口,remote_port为穿透后映射到公网的端口。

然后启动frpc服务:

  1. ./frpc -c frpc.ini

远程访问Portainer

现在,您可以通过访问公网IP:6000来远程访问Portainer了。在浏览器中打开该地址,您将看到Portainer的登录界面。使用admin作为用户名和密码登录即可。

注意事项

  • 确保frps和frpc的配置正确,包括公网IP、端口等。
  • 出于安全考虑,建议为Portainer设置强密码,并限制访问IP。
  • 如果无法访问Portainer,请检查防火墙设置和端口映射。

结语

通过部署Portainer并结合内网穿透技术,您可以轻松地在任何地点通过互联网访问和管理本地Docker容器。这不仅提高了便利性,还有助于远程协作和容器化管理。