linux - 难以访问 Docker 的 API

标签 linux api docker firewall

我一直在努力连接到运行在 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/

相关文章:

c++ - 将Visual Studio 2017 Win32解决方案迁移到Linux解决方案

python - 如何通过shell脚本编辑XML文件来更改所有数字,其中原始点除以1.3?

wordpress - (Docker) 如何在 WordPress 容器中使用单独的 Composer 容器安装依赖项?

c++ - 大量对象导致 Segmentation Fault

linux - 如何处理 shell 登录脚本中的错误密码?

api - youtube v3 api 获取 channel ID

php - Slim Basic Auth 的身份验证失败

python - 嵌套类以模仿静态成员

javascript - 无法在构建期间使用 docker 在 next.js 中发送请求?

Windows 容器 - 如何提交容器