我一直在努力连接到运行在 RedHat 7.1 VM 上的 Docker API,docker API 在 TCP 端口和 UNIX 套接字上运行。
为了配置这个,我设置了 -H OPTIONS 如下:
OPTIONS='--selinux-enabled -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'
在文件中:
/etc/sysconfig/docker
在同一个盒子上运行 docker 客户端,它通过任一通信路径连接 OK 到 docker 守护进程:
docker images
或
docker -H=tcp://127.0.0.1:2375 images
两者都同样有效。
我无法从另一个盒子中得到任何意义,我认为要做的第一件事是证明我可以从其他地方连接到端口 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
关于linux - 难以访问 Docker 的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30738448/