通过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 Oracle将休眠为ISO 8601日期格式   当有线程时,swing计时器不会停止。睡在Java里面   如何使用swing在java中清空密码字段值(字符串)   如何在编辑文本字段上设置单词java(安卓)   单独类中的java OkHttp请求   java Tomcat配置文件/上下文xml似乎已经崩溃了。请确保它是可分析和有效的。有关详细信息,请参阅服务器日志   java在科尔多瓦的ActivityResult上传递   java如何在映射中保持插入顺序。工厂?   “DataOutputStream”和“ObjectOutputStream”之间的java差异   java从FTP文件列表中获取项目的时间戳   java如何在spring security中为每个人忽略一些资源/URL?   模板类嵌套时新的Java泛型类构造函数问题   java读取并查找文件大小为1GB的行   java如何使用字符串say“stop”停止整数格式的while循环   java是否可以在应用程序启动之间将JVM保留在内存中?   java Springboot出现“出现意外错误(类型=内部服务器错误,状态=500)”的问题