
kaysond/trafficjam本镜像提供一个轻量级防火墙工具,专为Docker网络环境设计,旨在简化容器间网络流量的管理与控制。通过直观的规则配置,用户无需复杂的网络知识即可实现Docker容器间的访问控制,有效提升Docker网络环境的安全性与可控性。
bashdocker run -d \ --name docker-firewall \ --net=host \ -v /var/run/docker.sock:/var/run/docker.sock \ -e RULES="allow:container=webapp to container=db; deny:all to container=redis" \ -e LOG_LEVEL=info \ simple-docker-firewall
| 参数名 | 说明 | 默认值 |
|---|---|---|
RULES | 定义访问控制规则,格式为[allow/deny]:[源条件] to [目标条件];,多规则用分号分隔 | 无 |
LOG_LEVEL | 日志级别,支持debug/info/warn/error | info |
NETWORK | 指定作用的Docker网络名称,默认作用于所有网络 | all |
BLOCK_ALL | 是否默认阻止所有流量(需显式配置allow规则开放必要通信) | false |
规则由[动作]:[源条件] to [目标条件]组成,支持的条件类型:
container=<容器名/ID>:指定容器network=<网络名>:指定网络内所有容器label=<标签键=值>:匹配带有指定标签的容器all:所有来源/目标示例规则:
allow:container=api to container=db:允许api容器访问db容器deny:network=external to label=env=prod:阻止external网络访问带有env=prod标签的容器allow:label=service=frontend to network=backend:允许frontend服务标签的容器访问backend网络通过挂载配置文件实现规则持久化:
bashdocker run -d \ --name docker-firewall \ --net=host \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /path/to/rules.conf:/etc/firewall/rules.conf \ simple-docker-firewall
rules.conf文件格式(每行一条规则):
allow:container=web to container=db deny:all to container=admin allow:label=type=monitor to all
/var/run/docker.sock)以获取容器与网络信息--net=host模式运行,确保防火墙能监控所有Docker网络流量BLOCK_ALL=true时需谨慎配置allow规则,避免阻断容器必要通信(如DNS、健康检查)docker kill -s SIGHUP docker-firewall)实现热加载manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务