【docker专栏8】使用IDEA远程管理docker镜像和容器服务Docker为不熟悉的技术人员(配置管理员、测试人员)提供能力,在这种情况下图形界面是很有必要的。提供图形界面操作docker确实比使用命令行更直接、更简单。因此,很多厂商基于dockerRESTfulAPI为用户提供了docker容器镜像管理的图形化用户界面,例如Portainer、DockerUI、Shipyard等。本文不向大家介绍这些大佬,而是介绍一个简单的IDEA插件,通过它我们可以在IDEA编辑器上管理docker容器和镜像。Docker提供了对远程服务的访问,即:dockerRESTAPI(通过RESTfulHTTPAPI的方式,提供外部操作命令入口)。1、开启docker远程访问服务,首先要明确的是通过IDEA编辑器(remoteworkhost)管理服务器上的docker镜像和容器,属于远程服务访问(即访问RESTAPI通过网络)。docker守护进程默认不提供远程访问。需要修改配置文件vim/usr/lib/systemd/system/docker.service。这是启用docker远程访问服务的第一步。0.0.0.0:2375表示当前主机所有网卡监听2375端口#修改ExecStart行ExecStart=/usr/bin/dockerd-Hfd://-Htcp://0.0.0.0:2375-Hunix:///var/run/docker.sock--containerd=/run/containerd/containerd.sock第二步重新加载配置文件并重启dockerdaemon,使用如下命令检查是否远程能正确提供接入服务。或者通过浏览器访问http://:2375/info进行验证。如果有回应,那就是正确的。返回的是一个JSON的docker服务状态和配置信息。#重新加载配置文件,并重启dockerdaemon进程systemctldaemon-reload&&systemctlrestartdocker#查看端口是否开放,有一行记录显示2375端口被监听,即正确netstat-nptl|grep2375;需要注意的是,如果你的服务器上的防火墙没有开放2375端口访问,请使用以下命令开放2375端口(注意:以下命令行适用于CentOS7和8发行版,如果你使用的是其他linux发行版,命令可能不同)。firewall-cmd--zone=public--add-port=2375/tcp--permanent;#配置开放端口firewall-cmd--reload;#重新加载配置2、IDEA安装Dokcer插件接下来我们在远程工作主机的IDEA编辑器上安装插件,当然前提是你已经安装了IDEA编辑器。按照下图所示步骤安装docker插件,“文件->设置->插件->搜索Docker->安装”。插件安装完成后,通常需要重启IDEA编辑器。我的IDEA版本是2021.3,这个插件是默认集成的,不需要安装。大家可能会搜索很多docker相关的插件,记住图片中的鲸鱼图标,这就是我们需要的。配置Docker远程访问服务,如下图,在EngineAPIURL中填写tcp://:2375,然后保存配置。安装插件并保存配置。完成后会出现一个新的Tab窗口,用于管理上述配置服务上的Containers(容器)、Images(镜像)、Networks(网络)和Volumes(数据卷)。可以看到包括多少个容器、容器的运行状态、容器的数据量、端口映射等信息。还支持图像基本信息、图像删除、导入导出操作。我们还可以管理docker网络,管理数据量,基本涵盖docker单机服务的几乎所有管理功能。所以IDEA插件还是比较强大的。如果我们使用docker搭建一些环境,几乎是最方便使用的。如果你管理的是企业级的服务集群,还是需要更高级的GUI管理工具,比如rancher。文末笔者不得不说,我们还漏掉了一个很重要的内容,那就是docker远程对外提供HTTPRESTfulAPI,如果不加任何安全措施,是一种非常危险的行为。后面笔者会介绍如何为docker远程访问服务添加证书。没有证书的远程访问请求将被拒绝,网络数据传输将使用HTTPS。欢迎关注我的公告号:字母哥杂谈,回复003送作者专栏《docker修炼之道》30多篇优质docker文章PDF版。Antetokounmpo博客:zimug.com