通过dns更新用docker主机更新bind nameserver区域。

docker-hostdns的Python项目详细描述


用法

docker hostdns 可以通过 docker hostdns包装脚本运行,也可以直接使用 python -m docker hostdns

usage: docker-entrypoint [-h] [--zone ZONE] [--dns-server DNS_SERVER]
                         [--dns-key-secret DNS_KEY_SECRET]
                         [--dns-key-name DNS_KEY_NAME]
                         [--dns-key-alg {...}]
                         [--name NAME] [--network NETWORK] [--verbose]
                         [--syslog [SYSLOG]] [--clear-on-exit]

Update BIND nameserver zone with Docker hosts via DNS Updates.

optional arguments:
  -h, --help            show this help message and exit
  --zone ZONE           dns zone to update, defaults to "docker"
  --dns-server DNS_SERVER
                        address of DNS server which will be updated, defaults
                        to 127.0.0.1
  --dns-key-secret DNS_KEY_SECRET
                        DNS Server key secret for use when updating zone, use
                        '-' to read from stdin
  --dns-key-name DNS_KEY_NAME
                        DNS Server key name for use when updating zone
  --dns-key-alg {...}
                        DNS Server key algorithm for use when updating zone
  --name NAME           name to differentiate between multiple instances
                        inside same dns zone, defaults to current hostname
  --network NETWORK     network to fetch container names from, defaults to
                        docker default bridge, can be used multiple times
  --verbose, -v         give more output - option is additive, and can be used
                        up to 3 times
  --syslog [SYSLOG]     enable logging to syslog, defaults to "/dev/log", you
                        can provide path to unix socket or uri:
                        <tcp|udp|unix>://<path_or_host>[:<port>]
  --clear-on-exit       clear zone on exit

只有在安装了python-daemon3包之后, --daemonize选项才可用。

示例 named.conf 带密钥验证的区域配置:

include "/etc/bind/docker.key";

zone "docker" in {
    type master;
    file "/var/bind/dyn/docker.zone";
    allow-update {
      key "docker-key";
    };
};

docker.key 可由以下项生成:

rndc-confgen -a -c docker.key -k docker-key

然后:

echo'my base64 key secret'| docker-hostdns --dns-key-name docker-key --dns-key-secret -

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java调用Python函数作为TEID中的UDF   java Android。支持v4导入不工作   java如何影响具有静态属性的类   java如何在从glTexImage2D()分配后编辑纹理的像素颜色   javaspringboot+rediscache+@Cacheable适用于某些方法,而不适用于其他方法   java无法将动态Web模块方面从3.0更改为2.5   java如何在新选项卡中显示打印的文档?   java Google Cloud Endpoints API方法仅在删除用户参数时成功调用   java为什么我可以使用Stack<Double>但不能使用Stack<Double>?   java JDBC PreparedStatement似乎忽略了占位符   java如何设置JInternalFrame的标准图标化位置?   Java文件。copy()不复制文件   基于另一个类的java显示arraylist?   java Android Studio:错误:非法字符:'\u2028'   对象(Java)无法实例化类型映像?   javascript错误:飞行前响应的HTTP状态代码401无效   java确保泛型vararg参数具有相同的类型