访问Docker的API很困难

我正在努力连接到在RedHat 7.1 VM上运行的Docker API,Docker API在TCP端口和UNIX套接字上运行。

要configuration这个我设置-H选项如下:

OPTIONS='--selinux-enabled -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock' 

在文件中:

 /etc/sysconfig/docker 

在同一个盒子上运行Docker客户端,它通过任一通信path连接到docker守护进程:

 docker images 

要么

 docker -H=tcp://127.0.0.1:2375 images 

两者工作同样好。

我无法从另一个盒子中得到任何意义,我认为首先要做的就是certificate我可以从其他地方连接到2375端口。 当我尝试时,我没有快乐,

 telnet 10.30.144.66 2375 

我认为这肯定是一个防火墙问题,但是我花了一段时间才意识到这是Linux内置的防火墙。

使2375可访问:

根据您的发行版使用以下其中一项

 sudo firewall-cmd --zone=public --add-port=2375/tcp --permanent sudo firewall-cmd --reload 

要么

 sudo iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 2375 -j ACCEPT sudo /sbin/service iptables save