关于docker:Docker可视化管理工具总结推荐使用Portainer

39次阅读

共计 4147 个字符,预计需要花费 11 分钟才能阅读完成。

对于初学 docker 的小白,一款好的可视化工具有助于疾速把握 docker 根本状态和概念,上面针对 docker 可视化工具做些总结

ui-for-docker

UI For Docker 是一个应用 Docker Remote API 的 web 接口,目标是提供一个简洁污浊的客户端实现,为了连贯和治理 Docker;该工具目前曾经无人保护,倡议应用上面介绍的 portainer

docker run -it -d --name docker-web --restart always -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock docker.io/uifd/ui-for-docker

1. 长处
# 反对容器治理
# 反对镜像治理
# 基于 docker api,本身也是一个容器。
# 稳定性高
# 可动态显示显示容器之间关系图
# 容器治理,减少端口映射,减少零碎变量、映射目录等
2. 毛病
# 没有登录验证,因为没有登录体系,目前解决办法是,只凋谢本地拜访,或者通过 TLS 来对权限进行管制。
# 无奈调配某容器给某用户。
# 不反对多主机。
# 不反对集群 swarm 等
# 性能少
# 不反对控制台命令

Portainer

https://www.portainer.io/installation/
是一款 Docker 可视化管理工具,可让您轻松构建和治理 Docker、Docker Swarm、Kubernetes 和 Azure ACI 中的容器。
Portainer 将治理容器的复杂性暗藏在易于应用的 UI 前面。通过打消应用 CLI、编写 YAML 或了解清单的须要,Portainer 使部署应用程序和解决问题变得如此简略,任何人都能够做到

Portainer- 架构

Portainer 由两个元素组成:Portainer 服务器和 Portainer 代理。两者都在您现有的容器化基础设施上作为轻量级容器运行。Portainer 代理应该部署到集群中的每个节点,并配置为向 Portainer 服务器容器报告。
单个 Portainer 服务器将承受来自任意数量的 Portainer 代理的连贯,从而提供从一个集中式界面治理多个集群的能力。为此,Portainer Server 容器须要数据持久性。Portainer 代理是无状态的,数据被传送回 Portainer 服务器容器。

Portainer- 装置

运行上面两条命令即可。这些命令会创立一个 Portainer 专用的卷,而后在 8000 和 9000 端口创立容器并运行。

  1. 基于本地容器的部署

如果应用 Portainer 治理本地 Docker 主机的话,须要绑定 /var/run/docker.sock(这里是个知识点,波及 docker 之间通信的问题,以及 docker 里运行 docker)
$ docker volume create portainer_data<br />$ docker run –name portainer –restart always -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

而后在浏览器关上对应地址,就会发现胜利运行了。第一次运行的时候须要设置账号,而后抉择要治理的 Docker 主机。

留神:portainer/portainer 是 Portainer v1.24.x 的镜像名,当初已弃用;从 2022 年 1 月开始,Portainer 2.0 的所有新版本都将在 portainer/portainer-ce 中公布
docker run -d -p 8000:8000 -p 9443:9443 –name portainer –restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.11.1

  1. 连贯到近程容器的部署

docker run -d -p 9000:9000 –name portainer –restart always -v portainer_data:/data portainer/portainer -H tcp://<REMOTE_HOST>:<REMOTE_PORT>

ps:-H 前面的 remote 是你想用 portainert 治理的 docker

增加新的容器集群环境

1. 本机连贯形式

只能在创立 Portainer Server 容器时增加本地环境。部署 Portainer 后,您无奈增加本地环境

第一次登陆会让抉择治理的容器环境,这里能够抉择本机 ,通过挂载 /var/run/docker.sock 和 docker 守护过程通信(如图所示), 对于这部分常识前面会总结分享进去。



之后就能够看到本机上运行的 Docker 容器了,点击它们还能够进行容器的治理。

右边的条目能够治理卷、创立容器、查看主机信息等等。基本上该有的性能都有了

2. Remote 连贯形式

通过该形式,能够将近程机器增加到 Portainer 服务端,对立治理近程机器上的容器环境

将 Docker Standalone 主机连贯到 Portainer 时,能够应用两种办法。您能够通过 TCP 间接连贯到 Docker API,也能够在 Docker Standalone 主机上安装 Portainer 代理并通过代理连贯。
https://docs.portainer.io/v/ce-2.11/admin/environments/add/docker

1)通过近程拜访 TCP:2375 端口绑定环境

应用 Remote 要求被治理的主机开启 docker 守护线程监听端口
能够在 /etc/docker/daemon.json 中增加如下配置
{
“hosts”: [“tcp://0.0.0.0:2375”, “unix:///var/run/docker.sock”]
}

2)通过 Portainer Agent 形式治理 docker 环境
https://docs.portainer.io/v/ce-2.11/start/install/agent/docker/linux
应用 Agent 须要在要监控的主机上创立一个 portainer agent 容器
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.11.1


3)通过 Portainer Agent 形式治理 k8s 集群环境

在 k8s 集群上执行以下命令
url -L https://downloads.portainer.io/portainer-agent-ce211-k8s-nodeport.yaml -o portainer-agent-k8s.yaml; kubectl apply -f portainer-agent-k8s.yaml

在近程 k8s 集群上部署 agent 后,在 Portainer server 上通过 nodeport 或者 targetport 进行服务配置,实现 k8s 集群的连贯配置。

LazyDocker

https://github.com/jesseduffield/lazydocker

LazyDocker 是基于终端的一个可视化查问工具,反对键盘操作和鼠标点击。相比 Portainer 来说可能不那么业余,不过对于开发者来说可能反而更加好用了。因为个别开发者都是应用命令行来运行 Docker,偶然须要图形化查看的时候,就能够应用 LazyDocker 这个工具。

Lazydocker 的具体个性如下:

  • 全视线查看 Docker 或 docker-compose 容器环境的状态
  • 查看容器或服务的日志
  • 查看容器指标的 ascii 图表,这样你会更像个开发者
  • 自定义图表以测量不同指标
  • 附加到容器 / 服务
  • 重启、删除与从新构建容器 / 服务
  • 查看给定镜像的先人图层
  • 修剪占用磁盘空间的容器、镜像或卷


装置 LazyDocker 也非常简单,运行上面的命令即可。
docker run –rm -it -v \<br />/var/run/docker.sock:/var/run/docker.sock \<br />-v ~/.config/lazydocker:/.config/jesseduffield/lazydocker \<br />lazyteam/lazydocker

当然如果发现 LazyDocker 挺好用,筹备常常应用的话,还能够把它做成缩写增加到 shell 配置文件中,这样就能够将它变成一个简略的命令。例如我用的是 zsh,就将上面这样增加到.zshrc 文件中。当前就能够间接用 lzd 来调用 LazyDocker 了。

echo “alias lzd=’docker run –rm -it -v /var/run/docker.sock:/var/run/docker.sock -v ~/.config/lazydocker:/.config/jesseduffield/lazydocker lazyteam/lazydocker'” >> ~/.zshrc
而后就能够在终端中查看 Docker 容器、镜像和卷的信息了。LazyDocker 反对键盘操作和鼠标点击,间接用鼠标点击就能够查看对应信息了

Docker Desktop

Docker Desktop 是 Docker 官网自带的客户端。https://docs.docker.com/desktop/windows/;如果是 windows 用户,想在 Windows 零碎上运行 docker 容器,能够应用;

小结

  • Portainer 比拟适宜团队应用,因为他有访问控制。
  • Lazydocker 属于简略灵便的小工具,如果你不须要简单的性能,他们比拟适合,而且会让你更有程序员的感觉。
  • Docker Desktop 是 Windows/Mac 装置 Docker 时就有的,治理性能比较简单,在须要简略的集成 Kubernetes 时能够用他。
正文完
 0