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

相关推荐
sam-12329 分钟前
k8s上部署redis高可用集群
redis·docker·k8s
Fanstay9851 小时前
在Linux中使用Nginx和Docker进行项目部署
linux·nginx·docker
ggaofeng2 小时前
通过命令学习k8s
云原生·容器·kubernetes
death bell3 小时前
Docker基础概念
运维·docker·容器
天幕繁星4 小时前
docker desktop es windows解决vm.max_map_count [65530] is too low 问题
windows·elasticsearch·docker·docker desktop
想学习java初学者5 小时前
Docker Compose部署Kafka(非Zookeeper)
docker·容器·kafka
尝尝你的优乐美6 小时前
Docker部署Vue项目原来可以那么好用
前端·nginx·docker
qq_道可道6 小时前
K8S升级到1.24后,切换运行时导致 dind 构建镜像慢根因定位与解决
云原生·容器·kubernetes
迷茫运维路6 小时前
docker搭建Jenkins2.346.3版本及常用工具集成配置(ldap、maven、ansible、npm等)
运维·docker·jenkins·cicd
我叫乐多你养我啊6 小时前
Windows远程连接Docker服务
笔记·docker