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

 更新时间:2022年04月18日 09:03:38   作者:字母哥哥  
本文主要介绍了IDEA远程管理docker镜像及容器服务的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

使用命令行的方式管理服务器镜像及容器是运维人员最常用的方式,但是有的时候我们不得不远程操作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方式进行网络数据传输。

到此这篇关于IDEA远程管理docker镜像及容器服务的实现的文章就介绍到这了,更多相关IDEA远程管理docker镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot使用OpenCV的超详细步骤

    SpringBoot使用OpenCV的超详细步骤

    最近有个项⽬需要对图⽚图像进⾏处理,使⽤到了开源框架OpenCV,所以下面这篇文章主要给大家介绍了关于SpringBoot使用OpenCV的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • Java BitMap源码仿写实现

    Java BitMap源码仿写实现

    这篇文章主要介绍了Java BitMap源码仿写实现,所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断某个数据存不存在的
    2022-12-12
  • Java中Redis存储String类型会有乱码的问题及解决方案

    Java中Redis存储String类型会有乱码的问题及解决方案

    在java中使用Redis存储String类型的数据时,会出现乱码,我写了一条存储key为name,值为虎哥的字符串,然后获取一下这个key为name的值,打印得到的值,下面通过实例代码介绍Java中Redis存储String类型会有乱码的问题及解决方案,一起看看吧
    2024-04-04
  • JAVA后端应该学什么技术

    JAVA后端应该学什么技术

    这篇文章主要介绍了JAVA后端应该学什么技术,对JAVA感兴趣的同学,可以规划一下
    2021-04-04
  • SpringBoot整合MyBatis实现CRUD操作项目实践

    SpringBoot整合MyBatis实现CRUD操作项目实践

    本文主要介绍了SpringBoot整合MyBatis实现CRUD操作项目实践,如何实现数据库的CRUD创建、读取、更新、删除操作,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • maven springboot如何将jar包打包到指定目录

    maven springboot如何将jar包打包到指定目录

    这篇文章主要介绍了maven springboot如何将jar包打包到指定目录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • java map的key值转驼峰命名的方法

    java map的key值转驼峰命名的方法

    这篇文章主要介绍了java map的key值转驼峰,通过实例代码介绍了Map把“_”形式的key转化为驼峰形式,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • Java抽象的本质解析

    Java抽象的本质解析

    对于面向对象编程来说,抽象是它的一大特征之一,在 Java 中可以通过两种形式来体现OOP的抽象:接口和抽象类,下面这篇文章主要给大家介绍了关于Java基础抽象的相关资料,需要的朋友可以参考下
    2022-03-03
  • Java内存模型之重排序的相关知识总结

    Java内存模型之重排序的相关知识总结

    重排序是指编译器和处理器为了优化性能而对指令序列进行重新排序的一种手段,文中详细介绍了Java重排序的相关知识,需要的朋友可以参考下
    2021-06-06
  • Java8中的 Lambda表达式教程

    Java8中的 Lambda表达式教程

    这篇文章主要介绍了 Java8中的 Lambda表达式教程,需要的朋友可以参考下
    2017-02-02

最新评论