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 基础上增加了用户系统,能够多人操作,增加远程功能等等功能,希望能够帮助到大家。

相关推荐
xhaxy1 天前
docker
docker·容器·eureka
一技安身1 天前
【信创】Docker‑Compose V2 两种离线部署(独立模式、插件模式)简易教程
java·docker·eureka
鸿观工坊1 天前
Docker 多阶段构建实践指南
docker
大牧师1 天前
MySQL 学习教程
数据库·sql·mysql·docker·node·全栈·后端数据
MC丶科1 天前
软考架构师90天冲刺|DAY44·Redis高级应用
数据库·数据仓库·redis·缓存·oracle·容器·规格说明书
天外天-亮1 天前
docker + window 安装
运维·docker·容器
进击的小菜鸡dd1 天前
docker 容器的挂载映射关系查看
运维·docker·容器
SLD_Allen1 天前
从 HPA 到 KEDA:Kubernetes 弹性伸缩的进阶实践
云原生·容器·kubernetes
程序员老赵1 天前
Docker 部署 TeX Live:轻松搭建 LaTeX 论文排版编译平台
前端·docker·latex
陈皮糖..1 天前
基于 Keepalived 的传统 Web 高可用架构的容器化改造与可观测性升级
运维·docker·性能优化·架构·云计算·prometheus