Dockerコンテナーがホストのネットワークポートに自由にアクセスできるようにCentos 7 firewallDを構成する方法


32

CentOS 7にdockerをインストールし、firewallDを実行しています。

コンテナ内からホストに移動します(デフォルトは172.17.42.1)

ファイアウォールがオンの場合

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

ファイアウォールのシャットダウンあり

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

firewalldに関するドキュメントを読みましたが、完全には理解していません。ホストへの無制限のアクセスをドッカーコンテナー(docker0アダプターで推測します)内のすべてを単純に許可する方法はありますか?

回答:


31

以前の回答よりも良いかもしれません。

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

6
add-portは不必要だと思います。docker0が信頼済みとしてマークされている場合、そのポートはとにかく通過されます。
マットヒューズ

6
@MattHughesそれは私なしで働いたadd-portdocker再起動する必要もあります。
rdupz

1
Docker

10

これらのコマンドはトリックを行いました:

firewall-cmd --permanent --zone=trusted --add-interface=docker0
firewall-cmd --permanent --zone=trusted --add-port=4243/tcp
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.