Docker-可视化管理工具总结-推荐使用Portainer

Docker-可视化管理工具总结-推荐使用Portainer,第1张

对于初学docker的小白,一款好的可视化工具有助于快速掌握docker基本形态和概念,下面针对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/dockersock:/var/run/dockersock dockerio/uifd/ui-for-docker

https://wwwportainerio/installation/

是一款Docker可视化管理工具,可让您轻松构建和管理 Docker、Docker Swarm、Kubernetes 和 Azure ACI 中的容器

Portainer 将管理容器的复杂性隐藏在易于使用的 UI 后面。通过消除使用 CLI、编写 YAML 或理解清单的需要,Portainer 使部署应用程序和解决问题变得如此简单,任何人都可以做到

Portainer 由两个元素组成:Portainer 服务器和 Portainer 代理。两者都在您现有的容器化基础设施上作为轻量级容器运行。Portainer 代理应该部署到集群中的每个节点,并配置为向 Portainer 服务器容器报告。

单个 Portainer 服务器将接受来自任意数量的 Portainer 代理的连接,从而提供从一个集中式界面管理多个集群的能力。为此,Portainer Server 容器需要数据持久性。Portainer 代理是无状态的,数据被传送回 Portainer 服务器容器。

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

如果使用Portainer管理本地Docker主机的话,需要绑定/var/run/dockersock (这里是个知识点,涉及docker 之间通信的问题,以及docker 里运行docker )

docker run --name portainer --restart always -d -p 8000:8000 -p 9000:9000 -v /var/run/dockersock:/var/run/dockersock -v portainer_data:/data portainer/portainer

然后在浏览器打开对应地址,就会发现成功运行了。第一次运行的时候需要设置账号,然后选择要管理的Docker主机。

注意:portainer/portainer 是 Portainer v124x 的镜像名,现在已弃用;从 2022 年 1 月开始,Portainer 20 的所有新版本都将在 portainer/portainer-ce 中发布

docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/dockersock:/var/run/dockersock -v portainer_data:/data portainer/portainer-ce:2111

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

只能在创建 Portainer Server 容器时添加本地环境。部署 Portainer 后,您无法添加本地环境

第一次登陆会让选择管理的容器环境,这里可以选择本机 ,通过挂载/var/run/dockersock 和docker 守护进程通信(如图所示), 关于这部分知识后面会总结分享出来。

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

左边的条目可以管理卷、创建容器、查看主机信息等等。基本上该有的功能都有了

通过该方式,可以将远程机器添加到Portainer服务端,统一管理远程机器上的容器环境

将 Docker Standalone 主机连接到 Portainer 时,可以使用两种方法。您可以通过 TCP 直接连接到 Docker API,也可以在 Docker Standalone 主机上安装 Portainer 代理并通过代理连接。

https://docsportainerio/v/ce-211/admin/environments/add/docker

1) 通过远程访问TCP:2375端口绑定环境

2) 通过Portainer Agent方式管理docker环境

https://docsportainerio/v/ce-211/start/install/agent/docker/linux

使用Agent需要在要监控的主机上创建一个portainer agent容器

docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/dockersock:/var/run/dockersock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent:2111

在k8s集群上执行以下命令

url -L https://downloadsportainerio/portainer-agent-ce211-k8s-nodeportyaml -o portainer-agent-k8syaml; kubectl apply -f portainer-agent-k8syaml

在远程k8s集群上部署agent后,在Portainer server 上通过nodeport 或者 targetport 进行服务配置,完成k8s集群的连接配置。

https://githubcom/jesseduffield/lazydocker

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

Lazydocker 的具体特性如下:

当然如果发现LazyDocker挺好用,准备经常使用的话,还可以把它做成缩写添加到shell配置文件中,这样就可以将它变成一个简单的命令。例如我用的是zsh,就将下面这样添加到zshrc文件中。以后就可以直接用lzd来调用LazyDocker了。

echo "alias lzd='docker run --rm -it -v /var/run/dockersock:/var/run/dockersock -v ~/config/lazydocker:/config/jesseduffield/lazydocker lazyteam/lazydocker'" >> ~/zshrc

然后就可以在终端中查看Docker容器、镜像和卷的信息了。LazyDocker支持键盘操作和鼠标点击,直接用鼠标点击就可以查看对应信息了

Docker Desktop 是 Docker 官方自带的客户端。 https://docsdockercom/desktop/windows/ ; 如果是windows用户,想在Windows系统上运行docker容器,可以使用;

严格意义上Web服务器只负责处理HTTP协议,只能发送静态页面的。而JSP,ASP,PHP等动内态内容需要通过容CGI、FastCGI、ISAPI等接口交给其他程序去处理。这个其他程序就是应用服务器。

比如Web服务器包括Nginx,Apache,IIS等。而应用服务器包括WebLogic,JBoss等。应用服务器一般也支持HTTP协议,因此界限没这么清晰。但是应用服务器的HTTP协议部分仅仅是支持,一般不会做特别优化,所以很少有见Tomcat直接暴露给外面,而是和Nginx、Apache等配合,只让Tomcat处理JSP和Servlet部分

拿servlet举例说,当请求到时,实例化servlet,或者至少要建一个新的线程来处理这个请求,调用servlet的doPost或者doGet方法,管理servlet生死以及资源,Web容器要做的就是这些工作。如果没有容器,这些工作就需要自己编码实现,增加了不少工作量。

Tomcat作为一个轻量级的服务器,就包含了servlet容器。当然,一个Web服务器可以包含多个容器,简单来说Web服务器中一般包含有Web容器。

容器云是近两年在云计算技术中新兴的一种产品形式,容器在计算形态上是归属于轻量级的虚拟化技术。和传统虚拟化内核级的Guest OS的封装不同,容器服务是进程级的虚拟化形态封装,启动速度和部署的速度都十分迅速,能够在应用层面根据资源的需求进行快速部署与调度,生命周期变化速度快。

之所以会有容器云的出现,主要还是因为时代的发展趋势所导致。由于在2010年,国外Cloud,Docker等容器技术刚刚创立,这无非给云计算指明了一条明确的道理,此后K8s和Docker等技术就火的一塌糊涂。

而对比于传统虚拟机,容器云有什么特点呢?

一:可移植性

目前容器技术主要体现在应用程序容器化(Docker)和系统容器化上。这两种形式的容器都能让IT团队从底层架构中抽象出程序代码,进一步实现各种部署环境的可移植性。

二:轻量级

容器通常部署在物理服务器及其主机操作系统上,它可以通过单个操作系统安装来运行多个工作环境,因此容器云特别“轻”,仅仅需要几秒钟就可以启动。

三:降低成本

与传统虚拟机相比,CPU,内存和存储效率的提高是容器技术最大优势。在同一基础架构上支持更多容器,那么这些资源的减少就转化成巨大的成本,同时也大大减少了管理开销。

容器技术是近几年云行业发展中不可缺少的一环。Docker和k8s的大热极大可能会推动云计算PAAS层的完善和普及。

容器(Container)是一种更轻量级,更灵活的虚拟化处理方式,它将一个应用程序所需的一切打包在一起。

容器包括所有代码,各种依赖甚至操作系统,这让应用程序几乎在任何地方都可以运行。因此它的诞生,解决了一个重要问题:如何确保应用程序从一个环境移动到另一个环境的正确运行。它只是虚拟了操作系统,而不像虚拟机一样去虚拟底层计算机。

Docker 容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上(包括流行的Linux机器、windows机器),也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

定期渗透测试,安全审计;

尽量采用image的正规镜像来源,相对于传统安全,容器安全受质疑很大程度上是在于镜像的维护及升级,因此在镜像源头保证安全和及时更新;

及时升级容器服务,比如采用rollingupdate的方式对跑服务的容器进行升级等方式。

Docker容器与其他的容器技术都是大致类似的。但是,Docker在一个单一的容器内捆绑了关键的应用程序组件,这也就让这容器可以在不同平台和云计算之间实现便携性。其结果就是,Docker就成为了需要实现跨多个不同环境运行的应用程序的理想容器技术选择。

Docker还可以让使用微服务的应用程序得益,所谓微服务就是把应用程序分解成为专门开发的更小服务。 这些服务使用通用的RESTAPI来进行交互。使用完全封装Docker容器的开发人员可以针对采用微服务的应用程序开发出一个更为高效的分发模式。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Docker-可视化管理工具总结-推荐使用Portainer

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情