首先 docker的版本為18.06.3-ce
需要對docker開啟的端口進行ip訪問限制,例如指定某些ip訪問3306端口,命令如下:
#讓11.11.141.0網段的服務器以及本機ip可以連接3306端口,而且還需要讓docker訪問數據庫,否則docker部署的數據庫之間通信就會被攔截
iptables -I DOCKER-USER -s 11.11.141.0/24,10.122.163.82,172.17.0.1/24 -p tcp -m multiport --dport 3306 -j ACCEPT
#查看規則鏈,發現第三條是一個return規則,我們所有的設置都需要在這條鏈以上才生效
iptables -L DOCKER-USER --line-numbers
#所以拒絕連接的鏈在第三條位置
iptables -I DOCKER-USER 3 -p tcp -m multiport --dport 3306 -j REJECT
#如果操作錯誤,可以使用如下命令刪除這個鏈,num是鏈的編號
sudo iptables -D DOCKER-USER num
部分參數如下:
-A 添加到最后一條規則
-I num 添加到 指定數字處,原此處的規則序列加1
-D 刪除
-L 列表展示
-m multiport 可以指定多個地址范圍