应用命令行的形式治理服务器镜像及容器是运维人员最罕用的形式,然而有的时候咱们不得不近程操作docker或者是面向对docker并不相熟的技术人员提供能力(配置管理员、测试人员),这种状况下图形界面就有必要了。提供图形界面的形式来操作docker也确实是比应用命令行的形式更间接、更简略。所以很多的厂商基于docker RESTful API向用户提供了用于docker容器镜像治理的用户图形界面,Portainer、Docker UI、Shipyard等等。本文不向大家介绍这些大家伙,介绍一个简略的IDEA插件,通过这个插件咱们就能够在IDEA编辑器上治理docker容器及镜像。
docker提供了近程服务的拜访能力,即:docker REST API(通过RESTful HTTP API的形式,对外提供操作命令入口)。
一、开启docker近程拜访服务
首先要明确的一点是,通过IDEA编辑器(近程工作主机)治理服务器上的docker镜像及容器,这属于近程服务拜访(即通过网络拜访REST API)。docker守护过程默认是不提供近程拜访的,须要批改配置文件vim /usr/lib/systemd/system/docker.service
,这是开启docker近程拜访服务的第一步。0.0.0.0:2375
示意在以后主机上所有网卡监听2375端口。
#批改ExecStart这行ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --containerd=/run/containerd/containerd.sock
第二步从新加载配置文件并重启docker守护过程,并应用下方的命令查看是否可能正确提供近程拜访服务。或者通过浏览器拜访http://<docker宿主机ip>:2375/info
也能够进行验证,有响应后果即正确,返回的是一个JSON的docker服务状态及配置信息。
#从新加载配置文件,并重启docker守护过程systemctl daemon-reload && systemctl restart docker#查看端口是否开启,有一行记录显示2375端口被监听,即正确netstat -nptl|grep 2375;
须要留神的是如果你的服务器上防火墙没有凋谢2375端口拜访,请应用上面的命令凋谢2375端口(留神:上面的命令行实用于CentOS7、8发行版,如果你是其余的linux发行版,命令可能不一样)。
firewall-cmd --zone=public --add-port=2375/tcp --permanent; #配置凋谢端口firewall-cmd --reload; #从新加载配置
二、IDEA装置Dokcer插件
上面咱们在近程工作主机的IDEA编辑器上装置插件,当然前提是你曾经装置了IDEA编辑器。依照如下图所示的步骤装置docker插件,"File -> Settings ->Plugins ->搜寻Docker -> install装置",插件装置实现之后通常须要重启IDEA编辑器。我的IDEA版本是2021.3,这个插件是默认集成的,不须要装置。你可能会搜寻出很多的docker相干的插件,记住图中的鲸鱼图标,这个才是咱们须要的。
配置Docker近程拜访服务,如下图所示,在Engine API URL处填写tcp://<近程docker服务器IP>:2375
,而后保留配置。
插件装置并保留配置,实现之后会呈现一个新的Tab窗口,用于治理上述配置服务其上的Containers(容器)、Images(镜像)、Networks(网络)、Volumes(数据卷)。蕴含多少个容器,容器的运行状态,容器的数据卷、端口映射等信息都能够看到。镜像的根本信息、镜像删除、导入导出操作也都反对。咱们还能够治理docker网络、治理数据卷,基本上简直笼罩了所有的docker单机服务的治理性能。
所以说IDEA这个插件还是挺给力的,如果咱们本人应用docker搭建一些环境,用它简直是最不便的了。如果是治理企业级服务集群,还是须要更高级的图形界面管理工具,如rancher之类的。在文章的最初,笔者不得不说咱们还脱漏了一个十分重要的内容,那就是docker近程对外提供HTTP RESTful API,如果不加上任何的安全措施是十分危险的行为 。后续笔者会介绍如何为docker近程拜访服务增加证书,无证书的近程拜访申请会被回绝,同时应用HTTPS形式进行网络数据传输。
欢送关注我的布告号:字母哥杂谈,回复003赠送作者专栏《docker修炼之道》的PDF版本,30余篇精品docker文章。字母哥博客:zimug.com