Wie konfiguriere ich Centos 7 firewallD so, dass Docker-Container freien Zugriff auf die Netzwerkports des Hosts haben?


32

Ich habe Docker auf CentOS 7 installiert und verwende eine Firewall.

In meinem Container zum Host gehen (Standard 172.17.42.1)

Mit aktivierter Firewall

container# nc -v  172.17.42.1  4243
nc: connect to 172.17.42.1 port 4243 (tcp) failed: No route to host

mit Firewall-Abschaltung

container# nc -v  172.17.42.1  4243
Connection to 172.17.42.1 4243 port [tcp/*] succeeded!

Ich habe die Dokumentation zu firewalld gelesen und verstehe sie nicht vollständig. Gibt es eine Möglichkeit, einfach alles in einem Docker-Container (ich denke auf dem Docker0-Adapter) uneingeschränkten Zugriff auf den Host zu ermöglichen?

Antworten:


30

Vielleicht besser als frühere Antwort;

firewall-cmd --permanent --zone=trusted --change-interface=docker0
firewall-cmd --permanent --zone=trusted --add-port=4243/tcp
firewall-cmd --reload

6
Ich halte das add-portfür überflüssig. Wenn docker0als vertrauenswürdig markiert ist, wird dieser Port trotzdem durchgelassen.
Matt Hughes

6
@MattHughes Es hat bei mir ohne das geklappt add-port. Sie müssen docker auch neu starten .
Rdupz

1
Arbeitete nach dem Neustart der Firewall, nicht Docker
Cybersoft

10

Diese Befehle haben es geschafft:

firewall-cmd --permanent --zone=trusted --add-interface=docker0
firewall-cmd --permanent --zone=trusted --add-port=4243/tcp
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.