当前位置: 首页 > news >正文

Portainer:Docker可视化管理神器部署与使用攻略

Portainer是一款优秀的Docker可视化管理工具,它提供了简洁美观的Web界面,可以通过点击鼠标轻松管理Docker环境。

一、Portainer简介

Portainer是一个轻量级的Docker管理界面,具有以下特点:

  • 可视化操作:通过Web界面管理Docker容器、镜像、网络、卷等
  • 功能全面:支持容器生命周期管理、日志查看、资源监控等
  • 易于部署:基于Docker容器部署,一键启动
  • 多环境支持:可管理本地和远程Docker环境
  • 开源免费:Community Edition完全免费使用

二、Portainer部署

2.1 基础环境准备

确保服务器已安装Docker环境,安装方法可参考ubuntu安装docker教程

2.2 快速部署Portainer

使用Docker一键部署Portainer CE(社区版):

docker run -d \--name=portainer \--restart=always \-p 9000:9000 \-p 8000:8000 \-v /var/run/docker.sock:/var/run/docker.sock \-v portainer_data:/data \portainer/portainer-ce:latest

参数说明:

  • -p 9000:9000:Web管理界面端口
  • -p 8000:8000:Edge agent通信端口
  • -v /var/run/docker.sock:/var/run/docker.sock:连接本地Docker守护进程
  • -v portainer_data:/data:数据持久化存储
  • --restart=always:容器自动重启

2.3 Docker Compose部署(推荐)

创建docker-compose.yml文件:

version: '3.8'
services:portainer:image: portainer/portainer-ce:latestcontainer_name: portainerrestart: alwaysports:- "8000:8000"- "9000:9000"volumes:- /var/run/docker.sock:/var/run/docker.sock- portainer_data:/dataenvironment:- TZ=Asia/Shanghaivolumes:portainer_data:

启动服务:

# 创建并启动容器
docker-compose up -d# 查看运行状态
docker-compose ps

2.4 验证部署状态

检查容器运行状态:

# 查看Portainer容器状态
docker ps | grep portainer# 查看容器日志
docker logs portainer

三、Portainer登录配置

3.1 初始访问

部署完成后,在浏览器中访问:

http://服务器IP地址:9000

首次访问会看到Portainer的初始化界面。

3.2 管理员账户创建

  1. 在初始化界面中设置管理员账户
  2. 输入用户名(建议使用admin)
  3. 设置强密码(至少8位,包含大小写字母、数字和特殊字符)
  4. 确认密码后点击"Create User"

四、Portainer功能使用

4.1 容器管理

登录后进入主界面,可以看到:

  • 容器列表和状态
  • 系统资源使用情况
  • 快捷操作按钮

常用操作:

  • 点击容器名称查看详细信息
  • 使用启动/停止/重启按钮管理容器
  • 点击"Logs"查看容器日志
  • 点击"Console"进入容器终端

4.2 镜像管理

在"Images"菜单中可以:

  • 查看本地镜像列表
  • 拉取新镜像
  • 删除不需要的镜像
  • 查看镜像详情

4.3 网络和卷管理

  • Networks:管理Docker网络
  • Volumes:管理数据卷
  • 可以创建、删除、查看详细信息

http://www.xdnf.cn/news/1435033.html

相关文章:

  • 不只是一台玩具车:开源燃料电池机器人HydroBot全揭秘
  • 怎么用redis lua脚本实现各分布式锁?Redisson各分布式锁怎么实现的?
  • Unity通过Object学习原型模式
  • ES6和CommonJS模块区别
  • GNU Make | C/C++项目自动构建入门
  • DevOps运维与开发一体化及Kubernetes运维核心详解
  • Aurobay EDI 需求分析:OFTP2 与 EDIFACT 驱动的汽车供应链数字化
  • DataAgent技术解析:数据智能的未来之路
  • LangGraph 上下文工程权威指南:构建智能、感知、有记忆的 AI 代理
  • Ubuntu平台查看.gz格式压缩文件内容以及利用grep命令过滤搜索内容
  • 《浪浪山小妖怪》知识竞赛来袭!测测你是几级影迷?
  • RL【1】:Basic Concepts
  • 情况三:已经 add ,并且也 commit 了
  • 机器人控制器开发(整体架构2 Lerobot介绍)
  • 佛山体彩第二届唱享之夜浪漫收官, 七夕音乐派对全场大合唱!
  • 使用 Gulp + Webpack 打造一个完整的 TypeScript 库构建流程
  • 社区医疗健康管理系统的设计与实现-(源码+LW+可部署)
  • Linux92 shell:倒计时,用户分类
  • [re_2] rpc|http|nginx|protobuf|
  • HBuilder X 4.76 开发微信小程序集成 uview-plus
  • 【Linux我做主】进程退出和终止详解
  • C++编程语言:标准库:第37章——正则表达式(Bjarne Stroustrup)
  • 拷打字节面试官之-吃透c语言-哈希算法 如何在3面拷打字节cto 3万行算法源码带你吃透算法面试所有考题
  • 【完整源码+数据集+部署教程】鸡粪病害检测系统源码和数据集:改进yolo11-bifpn-SDI
  • 前端开发中经常提到的iframe、DOM是什么?
  • WPF中的DataContext以及常见的绑定方式
  • windows下wsl2 ubuntu开发配置
  • 破解人事管理非标化困境:启效云低代码如何助力业务突围?
  • 为什么同步是无线通信的灵魂?WiFi 与 5G 帧结构中的关键技术
  • 创建一个只能直接构造和销毁,但不能被复制和移动的基类