- 在前一篇文章中,小编采用了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已经可以接受远程访问了。
- 但是,开放这个端口,会带来很大的安全隐患,即使有了防火墙的设置,因为通讯的内容是没有加密的,因此,我们需要加强安保措施,下一篇,我讲介绍如何加强安保措施,也就是通过自签名证书的安全认证。
使用docker-java远程管理docker精进版(一)
最新推荐文章于 2024-09-08 10:09:26 发布