Portainer 本地|远程容器使用详解

一、why?

当有了服务器,使用 docker 部署应用就变得非常简单,然而可能需要一个容器管理工具能够远程操作容器,此时 Portainer 就是一个比较好的选择。

需要注意的是:portainer 基础版不是收费的,而非基础版是要收费的。

二、本文目标

graph TD 安装Portainer --> 使用 使用 --> 链接本地容器 使用 --> 链接远程容器

三、Portainer 简介

无论您属于哪个行业、编排平台或计算设备,Portainer 都是功能最齐全的容器管理软件 ,能够以惊人的速度 简化 您对容器的安全采用。

四、Portainer 安装和运行

graph LR 简化安装docker-copmpose --> 运行docker-copmpose --> 访问端口

4.1)简化安装

为了简化安装,使用 docker-compose 进行安装, 以下是 docker-compose.yml 文件:

yml 复制代码
version: '3.3'
services:
  portainer:
    image: portainer/portainer-ce:latest
    container_name: portainer
    ports:
      - "8000:8000"
      - "9443:9443"
      - "9000:9000"
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      # - ./portainer_data:/data

重点关注:

  1. 9000 端口访问 portainer 管理后台。
  2. volumes 必须链接本地 docker sock 文件。

4.2)运行 docker-compose

sh 复制代码
docker-compose up -d

运行后,就可以访问 9000 端口,此时就可以使用 Portainer 提供的管理系统管理容器了。

五、Portainer 管理端基本使用流程

graph LR docker --> 容器 容器 --> 访问端口 访问端口 --> 创建用户 访问端口 --> 用户登录 用户登录 --> 进入主页 创建用户 --> 进入主页 进入主页 --> 选择环境 进入主页 --> 添加环境 选择环境 --> 操作 添加环境 --> 操作 操作 --> 容器-镜像-卷

六、Portainer 系统概况

6.1)创建用户

访问指定端口,创建用户。

6.2)界面分布和基本功能

页面布局分为两个部分:

  • 侧边栏区域:Home、当前选择的环境区域以及Settings设置区域。
  • 内容区域:主要内容区域。

6.3)切换环境

我们选择 Get Start 进行 Environments 选择页面。

6.4)容器-镜像相关操作

点击环境列表中的可以选列表,进入 docker 管理页面。进行容器镜像等操作。

七、Portainer 管理本地服务

7.1)界面和基本功能

可以看到左侧的环境选择已经有了侧边栏,可以方便的管理我们的本地 docker。

7.2)容器-镜像相关操作

  • 容器

进入容器页面查看当前容器列表和操作容器。

  • 镜像

八、Portainer 管理远程服务

8.1)创建远程管理的方式

当我们想在服务器上使用 docker 部署应用,有一个统一的 docker 管理平台,可能是我们想要的,Portainer 支持多种方式进行远程容器管理。

graph TD 远程有容器管理方案 --> DockerStandalone 远程有容器管理方案 --> Docker集群 远程有容器管理方案 --> k8s 远程有容器管理方案 --> ACI

我们重点关注 Standalone 模式,Standalone 模式支持四种方式进行:

graph LR Standalone --> 代理 Standalone --> API Standalone --> Socket Standalone --> Edge代理标准

8.2)使用代理的方式管理链接远程

代理模式需要跑一个 portainer/agent 的 docker 容器,下面是一个 docker 命令

sh 复制代码
docker run -d \
  -p 9001:9001 \
  --name portainer_agent \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /var/lib/docker/volumes:/var/lib/docker/volumes \
  portainer/agent:2.19.4

进入云服务器开放 9001 端口,以便能够被访问到。

注意:一个代理实例不能一对多配对。

连接到远程列表:

与本地一样此时就可以对本地的 docker 容器进行操作镜像。

九、Portainer 远程服务器 docker 问题

9.1)docker 引擎问题

我们在阿里云或者腾讯云中安装的 docker yum install docker 安装的引擎是 podman 的版本,这不是我们期望的:

  • 推荐使用 docker-ce 版本

9.2)安装 docker-ce

sh 复制代码
dnf remove podman # 或者使用 yum remove podman
yum erase podman buildah

yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo yum install -y docker-ce docker-ce-cli containerd.io

如果你安装 podman 起先移除 podam,使用 docker ce 来管理。

十、Portainer 更多功能

对于简单的服务端应用其实,会远程管理就够了用了。但是 Portainer 提供更多的功能:

  • 用户、角色管理
  • 团队管理
  • docker 镜像仓库管理
  • 通知管理

十一、小结

本文主要目标是了解并使用 Portainer 的本地和远程管理 docker 容器功能,能够方便管理我们的服务器镜像容器。Portainer 在本地 docker 基础上增加了用户系统,能够多人操作,增加远程功能等等功能,希望能够帮助到大家。

相关推荐
Lupino13 分钟前
别再只聊 AI 写代码了:技术负责人要把“变更治理”提到第一优先级
python·docker·容器
Java陈序员2 天前
轻量强大!一款现代化的 Kubernetes 集群管理与监控工具!
云原生·容器·kubernetes
Sheffield4 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield4 天前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
马艳泽4 天前
win10下运行Start Broker and Proxy报错解决
docker
用户13573999256605 天前
Windows 从 0 搭建 WSL2 原生 AI 开发环境:Codex + Docker + VSCode
docker
vi_h5 天前
在 macOS 上通过 Docker 安装并运行 Ollama(详细可执行教程)
macos·docker·ollama
黑心老魔5 天前
通过 Docker 创建开发环境
docker·开发环境
冬奇Lab6 天前
一天一个开源项目(第41篇):Workout.cool - 现代化开源健身教练平台,训练计划与进度追踪
docker·开源·资讯
天朝八阿哥6 天前
使用Docker+vscode搭建离线的go开发调试环境
后端·docker·visual studio code