使用docker-java远程管理docker精进版(一)

发布于:2021-10-17 10:12:42


在前一篇文章中,小编采用了docker toolbox方法来安装了docker,并使用Java程序来链接docker,今天我将采用标准的VirtualBox来链接docker,学*类容主要是制作认证书和端口暴露。环境配置:虚拟机:VirtualBox5.2.12,网络链接方式我们选择桥接方式(这样虚拟机和主机之间保持网络互通)操作系统:Ubuntu-server16.4(操作系统版本必须在16以上,因为后续制作认证书需要里面的systemctl,低版本不支持该命令)
?Docker版本:Docker (Client/Server) 18.05.0-ce?docker-Java版本:?3.0.14第一步;打开虚拟机,启动Ubuntu,接下来我们需要编辑一下docker.service这个文件夹,因为docker在启动的时候,实际读取的是docker.server这个文件的配置,使用如下命令:
sudo nano /lib/systemd/system/docker.service在里面找到ExecStart=/usr/bin/dockerd -H fd://,我们在这里配置端口ExecStart=/usr/bin/dockerd ?-H tcp://0.0.0.0:2375 -H fd://-H tcp://0.0.0.0:2375(-H tcp://0.0.0.0:2376),参数H是表示主机(HOST)IP,0.0.0.0,是表示接受任何IP的访问,这样有点风险,不过后边我们会加强安保的。-H?fd://是默认Unix协议通讯的意思,也就是很多文章提到的,-H unix:///var/run/docker.sock,于-H?fd://是一个意思。在Linux下的Docker的client端于server端的通讯就是基于unix协议的。加入上述行以后,按Ctrl+X键,根据提示按Y键,保存退出。要想让配置生效,首先要重新装载配置文件,用如下命令来重新装载:$sudo systemctl daemon-reload,回车$sudo service docker restart,回车$sudo service docker status,来查看。再用$sudo netstat -lt,列出来用tcp协议监听端口的进程,如下图:

(我配置的是2376端口,我们发现该端口已经处于监听状态)
而前面的tcp6说明是IPv6协议的,而tcp是IPv4的,这里有必要简单说一下,现在Docker进程监听的协议都是tcp6的,经过配置可以改成IPv4的,但是在IPv6中,也可以接收IPv4发过来的请求。因此不必担心tcp和tcp6的差别。这样我们成功的让docker开始监听2375端口了,理论上docker已经可以接受远程访问了。但是,开放这个端口,会带来很大的安全隐患,即使有了防火墙的设置,因为通讯的内容是没有加密的,因此,我们需要加强安保措施,下一篇,我讲介绍如何加强安保措施,也就是通过自签名证书的安全认证。


相关推荐

最新更新

猜你喜欢