IDEA远程管理docker镜像及容器服务的实现

作者:字母哥哥 时间:2022-01-07 16:26:48 

使用命令行的方式管理服务器镜像及容器是运维人员最常用的方式,但是有的时候我们不得不远程操作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插件,&ldquo;File -> Settings ->Plugins ->搜索Docker -> install安装&rdquo;,插件安装完成之后通常需要重启IDEA编辑器。我的IDEA版本是2021.3,这个插件是默认集成的,不需要安装。你可能会搜索出很多的docker相关的插件,记住图中的鲸鱼图标,这个才是我们需要的。

IDEA远程管理docker镜像及容器服务的实现

配置Docker远程访问服务,如下图所示,在Engine API URL处填写tcp://<远程docker服务器IP>:2375 ,然后保存配置。

IDEA远程管理docker镜像及容器服务的实现

插件安装并保存配置,完成之后会出现一个新的Tab窗口,用于管理上述配置服务其上的Containers(容器)、Images(镜像)、Networks(网络)、Volumes(数据卷)。包含多少个容器,容器的运行状态,容器的数据卷、端口映射等信息都可以看到。镜像的基本信息、镜像删除、导入导出操作也都支持。我们还可以管理docker网络、管理数据卷,基本上几乎覆盖了所有的docker单机服务的管理功能。

IDEA远程管理docker镜像及容器服务的实现

所以说IDEA这个插件还是挺给力的,如果我们自己使用docker搭建一些环境,用它几乎是最方便的了。如果是管理企业级服务集群,还是需要更高级的图形界面管理工具,如rancher之类的。在文章的最后,笔者不得不说我们还遗漏了一个非常重要的内容,那就是docker远程对外提供HTTP RESTful API,如果不加上任何的安全措施是非常危险的行为 。后续笔者会介绍如何为docker远程访问服务添加证书,无证书的远程访问请求会被拒绝,同时使用HTTPS方式进行网络数据传输。

来源:https://blog.csdn.net/hanxiaotongtong/article/details/124240589

标签:IDEA,远程管理,docker,镜像
0
投稿

猜你喜欢

  • 如何解决Spring in action @valid验证不生效的问题

    2023-08-29 07:59:56
  • Java实现Redis的集合(set)命令操作

    2022-05-08 11:07:03
  • Java 1.8使用数组实现循环队列

    2022-02-11 04:00:10
  • Java实现多用户注册登录的幸运抽奖

    2023-07-30 11:57:44
  • 基于JavaMail的Java邮件发送

    2022-10-30 18:56:56
  • java生成jar包并且单进程运行的实例

    2021-08-30 00:40:55
  • 一文看懂JAVA设计模式之工厂模式

    2023-11-27 02:30:54
  • SpringMVC+Mybatis实现的Mysql分页数据查询的示例

    2023-11-24 20:53:33
  • IDEA(jetbrain通用)使用教程图解

    2023-04-15 04:05:49
  • androidQ sd卡权限使用详解

    2021-09-27 17:38:51
  • Mybatis通过数据库表自动生成实体类和xml映射文件

    2022-01-11 07:05:46
  • Java 数据结构之删除链表中重复的结点

    2023-11-28 15:36:22
  • java开发MVC三层架构上再加一层Manager层原理详解

    2023-06-14 06:10:51
  • Java及数据库对日期进行格式化方式

    2023-08-23 12:27:52
  • 基于Java信号量解决死锁过程解析

    2023-05-13 22:23:02
  • SpringBoot实现Mysql使用MD5进行密码加密的示例

    2022-11-24 23:14:16
  • 解决grails服务端口冲突的办法(grails修改端口号)

    2023-09-12 01:00:03
  • Java实现数据库连接池的方法

    2023-11-28 08:57:30
  • JAVA中Comparable接口和自定义比较器示例讲解

    2023-11-20 22:16:32
  • 在IntelliJ IDEA中为自己设计的类库生成JavaDoc的方法示例

    2023-11-25 09:49:02
  • asp之家 软件编程 m.aspxhome.com