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

相关推荐
CodeMartain2 小时前
Dify Windows 原生部署(无 Docker、纯本地)
运维·docker·容器
万里侯4 小时前
云原生数据备份与恢复:保障数据安全的最佳实践
微服务·容器·k8s
llrraa20104 小时前
配置docker国内镜像源
运维·docker·容器
华为云开发者联盟6 小时前
告别繁琐操作,华为云码道 + Docker重塑远程开发体验
人工智能·学习·docker·华为云·软件开发·华为云码道
m_136876 小时前
Docker Desktop WSL2 启动失败:ext4.vhdx 拒绝访问(E_ACCESSDENIED)完整解决方案
docker
珂玥c6 小时前
k8s集群ingress碎碎念
云原生·容器·kubernetes
米高梅狮子8 小时前
Ceph 分布式存储 部署
linux·运维·数据库·分布式·ceph·docker·华为云
比特森林探险记8 小时前
context 在 gRPC / Gin / K8s 中的实战
容器·kubernetes·gin
米高梅狮子8 小时前
Redis
数据库·redis·mysql·缓存·docker·容器·github
代码熬夜敲Q9 小时前
Docker基础
运维·docker·容器