用命令行管理Docker,时间长了确实累。特别是要频繁看容器状态、重启、拉镜像、进容器执行命令,敲docker ps、docker logs、docker exec -it这些命令敲得手酸。Portainer就是解决这个问题的,一个轻量级的Web UI,装好后浏览器里点点点就能管理Docker,支持单机版和Swarm集群。
安装Portainer
Portainer本身跑在Docker里,安装极其简单。直接跑一个容器就行:
docker volume create portainer_data
docker run -d -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
解释下参数:
– -v /var/run/docker.sock:/var/run/docker.sock 让Portainer能通过Docker socket直接管理宿主机的Docker守护进程
– -v portainer_data:/data 持久化配置数据,容器删了重装配置还在
– –restart=always 机器重启后自动拉起
装好后浏览器访问 http://你的IP:9000 ,第一次进去设置管理员密码,选择”Local”环境,点连接,就进去了。
如果服务器在雨云上,记得防火墙放行9000端口。雨云的主机默认安全组规则比较严,需要手动加一条入站规则。另外雨云的网络稳定性不错,跑Portainer远程管理基本不掉线。
界面能干的事
Dashboard首页直接显示宿主机Docker引擎版本、容器总数、镜像数、数据卷数。这个页面适合一眼扫过去看整体状态。
容器管理
点左侧”Containers”,所有容器列表出来,状态、端口映射、启动时间、镜像名都在表里。想操作哪个容器,右边有按钮:
– Start/Stop/Kill/Restart 直接控制启停
– Logs 点进去看实时日志,支持按时间筛选,不用再docker logs -f
– Stats 看CPU、内存、网络IO,比docker stats更直观
– Exec 直接在浏览器里进容器执行命令,类似docker exec -it,省得开终端
常用操作:比如某个容器挂了,点Restart;想查报错,点Logs翻到最下面看红色输出;要改环境变量,点Duplicate/Edit,改完重新部署。
镜像管理
“Images”菜单下能看到所有本地镜像。拉新镜像直接点”Pull a image”,输入nginx:alpine这种tag,后台自动拉。本地镜像也能直接勾选批量删除,省得docker rmi一个个敲。
对于不想用的镜像,点垃圾桶图标删除。注意如果镜像被容器引用,得先删容器。
数据卷
“Volumes”页面管理数据卷。创建新卷时指定名字和驱动,绑定容器时直接选已有卷。比命令行docker volume create方便在能可视化看到所有卷的大小和挂载点。
网络
“Networks”里管理Docker网络。创建bridge、host、overlay网络,或者把已有容器加到某个网络里。比如要让两个容器互相通信,在”Network”页面把容器拖进去就行。
Stacks和Compose
Portainer支持Docker Compose。点”Stacks” -> “Add stack”,把docker-compose.yml内容贴进去,或者从Git仓库拉,点部署就自动拉镜像、建网络、启动容器。
这点特别实用:不用在服务器上手动docker-compose up -d,直接在浏览器里维护YAML文件。而且Portainer会记录每次部署的版本,回滚方便。
权限和团队
如果多人共用一台Docker主机,Portainer支持创建用户和团队,给不同人分配不同环境的管理权限。比如开发只能看容器状态不能删,运维有全部权限。这个在企业里很有用,但个人用一般用不到。
远程管理多台服务器
Portainer可以管理多台Docker主机。在”Environments”里添加远程节点,填IP和端口(远程Docker需要开启2375端口,或者用TLS加密)。如果多台机器都跑在雨云上,内网IP互相访问延迟很低,管理体验和本地一样。
注意事项
– Portainer默认没有身份认证之外的访问控制,如果暴露到公网,建议前面加Nginx反代并启用HTTPS
– 数据卷portainer_data一定要挂载,不然容器升级配置全丢
– 生产环境建议用portainer/portainer-ee,企业版功能更多但社区版完全够用
整体来说,Portainer就是给Docker加了个图形壳子,不改变底层逻辑,只是让你少敲命令。装一个到服务器上,日常管理效率提升明显。
雨云是国内一家老牌云服务商,提供高性价比的云服务器和虚拟主机。我用它部署了好几个项目,速度和稳定性都不错。通过 https://www.rainyun.com/SAJA_ 注册可以领一张 5折优惠券,有需要的朋友可以看看。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END



暂无评论内容