一、why?
当有了服务器,使用 docker 部署应用就变得非常简单,然而可能需要一个容器管理工具能够远程操作容器,此时 Portainer 就是一个比较好的选择。
需要注意的是:portainer 基础版不是收费的,而非基础版是要收费的。
二、本文目标
三、Portainer 简介
无论您属于哪个行业、编排平台或计算设备,Portainer 都是功能最齐全的容器管理软件 ,能够以惊人的速度 简化 您对容器的安全采用。
四、Portainer 安装和运行
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
重点关注:
- 9000 端口访问 portainer 管理后台。
- volumes 必须链接本地 docker sock 文件。
4.2)运行 docker-compose
sh
docker-compose up -d
运行后,就可以访问 9000 端口,此时就可以使用 Portainer 提供的管理系统管理容器了。
五、Portainer 管理端基本使用流程
六、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 支持多种方式进行远程容器管理。
我们重点关注 Standalone 模式,Standalone 模式支持四种方式进行:
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 基础上增加了用户系统,能够多人操作,增加远程功能等等功能,希望能够帮助到大家。