难以访问 Docker 的 API
Difficulty accessing Docker's API
我正在努力连接到 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 客户端在同一个盒子上,它通过任一通信路径成功连接到 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
当我的 IntelliJ IDE 无法连接安装在 RHEL 上的 docker 引擎 API 时,我遇到了类似的问题。
已通过以下方式解决:
firewall-cmd --add-port=2376/tcp --permanent
firewall-cmd --reload
systemctl restart docker
我正在努力连接到 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 客户端在同一个盒子上,它通过任一通信路径成功连接到 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
当我的 IntelliJ IDE 无法连接安装在 RHEL 上的 docker 引擎 API 时,我遇到了类似的问题。
已通过以下方式解决:
firewall-cmd --add-port=2376/tcp --permanent
firewall-cmd --reload
systemctl restart docker