Docker – 无主机路由

前端之家收集整理的这篇文章主要介绍了Docker – 无主机路由前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

当我尝试连接到我的容器内的端口到另一个容器时,我不成功并得到,

  1. root@ac1590a59fe5:/opt/f5massupgrade# curl -v https://172.17.0.1:6379
  2. * Rebuilt URL to: https://172.17.0.1:6379/
  3. * Hostname was NOT found in DNS cache
  4. * Trying 172.17.0.1...
  5. * connect to 172.17.0.1 port 6379 Failed: No route to host
  6. * Failed to connect to 172.17.0.1 port 6379: No route to host
  7. * Closing connection 0

从docker主机我成功了,

  1. [root@docker-host ~]# curl -v https://172.17.0.1:6379/0
  2. * About to connect() to 172.17.0.1 port 6379 (#0)
  3. * Trying 172.17.0.1...
  4. * Connected to 172.17.0.1 (172.17.0.1) port 6379 (#0)
  5. * Initializing NSS with certpath: sql:/etc/pki/nssdb
  6. * CAfile: /etc/pki/tls/certs/ca-bundle.crt
  7. CApath: none

如果我检查iptables我可以看到问题,

  1. [root@docker-host ~]# iptables -S INPUT
  2. -P INPUT ACCEPT
  3. -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  4. -A INPUT -p icmp -j ACCEPT
  5. -A INPUT -i lo -j ACCEPT
  6. -A INPUT -i docker0 -j ACCEPT
  7. -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
  8. -A INPUT -j REJECT --reject-with icmp-host-prohibited

所以我添加以下内容并且一切正常,

  1. iptables -I INPUT 4 -i docker0 -j ACCEPT

我错过了什么吗?

  1. [root@docker-host ~]# docker version
  2. Client:
  3. Version: 1.9.1
  4. API version: 1.21
  5. Package version: docker-common-1.9.1-40.el7.centos.x86_64
  6. Go version: go1.4.2
  7. Git commit: ab77bde/1.9.1
  8. Built:
  9. OS/Arch: linux/amd64
  10. Server:
  11. Version: 1.9.1
  12. API version: 1.21
  13. Package version: docker-common-1.9.1-40.el7.centos.x86_64
  14. Go version: go1.4.2
  15. Git commit: ab77bde/1.9.1
  16. Built:
  17. OS/Arch: linux/amd64

谢谢,

最佳答案
尝试使用标志–net设置为host来运行容器.

  1. docker run --net host image

猜你在找的Docker相关文章