【docker專欄8】使用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方式進行網絡數據傳輸。
歡迎關注我的公告號:字母哥雜談,回覆003贈送作者專欄《docker修煉之道》的PDF版本,30餘篇精品docker文章。字母哥博客:zimug.com

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章