docker dns Server
Dockerfile
FROM ubuntu:bionic-20190612 AS add-apt-repositories
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y gnupg \
&& apt-key adv --fetch-keys http://www.webmin.com/jcameron-key.asc \
&& echo "deb http://download.webmin.com/download/repository sarge contrib" >> /etc/apt/sources.list
FROM ubuntu:bionic-20190612
LABEL maintainer="sameer@damagehead.com"
ENV BIND_USER=bind \
BIND_VERSION=9.11.3 \
WEBMIN_VERSION=1.9 \
DATA_DIR=/data
COPY --from=add-apt-repositories /etc/apt/trusted.gpg /etc/apt/trusted.gpg
COPY --from=add-apt-repositories /etc/apt/sources.list /etc/apt/sources.list
RUN rm -rf /etc/apt/apt.conf.d/docker-gzip-indexes \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
bind9=1:${BIND_VERSION}* bind9-host=1:${BIND_VERSION}* dnsutils \
webmin=${WEBMIN_VERSION}* \
&& rm -rf /var/lib/apt/lists/*
COPY entrypoint.sh /sbin/entrypoint.sh
RUN chmod 755 /sbin/entrypoint.sh
EXPOSE 53/udp 53/tcp 10000/tcp
ENTRYPOINT ["/sbin/entrypoint.sh"]
CMD ["/usr/sbin/named"]
#To deactivate the libvirt network named default:
virsh net-destroy default
#To prevent the network from automatically starting on boot:
virsh net-autostart --network default --disable
#To activate the network after it has been deactivated:
virsh net-start default
docker run --name='bind' -d -p 53:53/udp -p 10000:10000 -v /docker/dns/data:/data sameersbn/bind:latest
進入 bind 容器
docker exec -i -t bind bash
檢查 bind 語法
named-checkconf
重啟bind
rndc reload
使用webmin
htpps://localhost:10000 => root:password
tree /docker/dns
/docker/dns
└── data
├── bind
│ ├── etc
│ │ ├── bind.keys
│ │ ├── db.0
│ │ ├── db.127
│ │ ├── db.255
│ │ ├── db.empty
│ │ ├── db.local
│ │ ├── db.root
│ │ ├── named.conf
│ │ ├── named.conf.default-zones
│ │ ├── named.conf.local
│ │ ├── named.conf.options
│ │ ├── rndc.key
│ │ └── zones.rfc1918
│ └── lib
└── webmin
└── etc
├── acl
│ └── config
├── adsl-client
│ └── config
├── ajaxterm
│ └── config
├── apache
│ └── config
├── at
│ └── config
├── authentic-theme
├── backup-config
│ └── config
├── bacula-backup
│ └── config
├── bandwidth
│ └── config
├── bind8
│ ├── config
│ └── zone-names
├── burner
│ └── config
├── change-user
│ └── config
├── cluster-copy
│ └── config
├── cluster-cron
│ └── config
├── cluster-passwd
│ └── config
├── cluster-shell
│ └── config
├── cluster-software
│ └── config
├── cluster-useradmin
│ └── config
├── cluster-usermin
│ └── config
├── cluster-webmin
│ └── config
├── config
├── cpan
│ └── config
├── cron
│ └── config
├── custom
│ └── config
├── dfsadmin
│ └── config
├── dhcpd
│ └── config
├── dovecot
│ └── config
├── exim
│ └── config
├── exports
│ └── config
├── fail2ban
│ └── config
├── failed.pl
├── fdisk
│ └── config
├── fetchmail
│ └── config
├── filemin
│ └── config
├── filter
│ └── config
├── firewall
│ └── config
├── firewall6
│ └── config
├── firewalld
│ └── config
├── first-install
├── fsdump
│ └── config
├── grub
│ └── config
├── heartbeat
│ └── config
├── htaccess-htpasswd
│ └── config
├── idmapd
│ └── config
├── inetd
│ └── config
├── init
│ └── config
├── inittab
│ └── config
├── installed.cache
├── ipfilter
│ └── config
├── ipfw
│ └── config
├── ipsec
│ └── config
├── iscsi-client
│ └── config
├── iscsi-server
│ └── config
├── iscsi-target
│ └── config
├── iscsi-tgtd
│ └── config
├── jabber
│ └── config
├── krb5
│ └── config
├── ldap-client
│ └── config
├── ldap-server
│ └── config
├── ldap-useradmin
│ └── config
├── login.pl
├── logout.pl
├── logrotate
│ └── config
├── lpadmin
│ └── config
├── lvm
│ └── config
├── mailboxes
│ └── config
├── mailcap
│ └── config
├── man
│ └── config
├── miniserv.conf
├── miniserv.pem
├── miniserv.users
├── mon
│ └── config
├── mount
│ └── config
├── mysql
│ └── config
├── net
│ └── config
├── nis
│ └── config
├── openslp
│ └── config
├── package-updates
│ └── config
├── pam
│ └── config
├── pap
│ └── config
├── passwd
│ └── config
├── perl-path
├── phpini
│ └── config
├── postfix
│ ├── config
│ └── version
├── postgresql
│ └── config
├── ppp-client
│ └── config
├── pptp-client
│ └── config
├── pptp-server
│ └── config
├── proc
│ └── config
├── procmail
│ └── config
├── proftpd
│ └── config
├── qmailadmin
│ └── config
├── quota
│ └── config
├── raid
│ └── config
├── reload
├── restart
├── samba
│ └── config
├── sarg
│ └── config
├── sendmail
│ └── config
├── servers
│ └── config
├── shell
│ └── config
├── shorewall
│ └── config
├── shorewall6
│ └── config
├── smart-status
│ └── config
├── smf
│ └── config
├── software
│ └── config
├── spam
│ └── config
├── squid
│ └── config
├── sshd
│ └── config
├── start
├── status
│ └── config
├── stop
├── stunnel
│ └── config
├── syslog
│ └── config
├── syslog-ng
│ └── config
├── system-status
│ ├── config
│ └── enable-collection.pl
├── tcpwrappers
│ └── config
├── telnet
│ └── config
├── time
│ └── config
├── tunnel
│ └── config
├── uninstall.sh
├── updown
│ └── config
├── useradmin
│ └── config
├── usermin
│ └── config
├── var-path
├── version
├── vgetty
│ └── config
├── webalizer
│ └── config
├── webmin
│ └── config
├── webmin.acl
├── webmincron
│ ├── config
│ └── crons
│ ├── 15623863931623.cron
│ └── 15623864562065.cron
├── webminlog
│ └── config
├── wuftpd
│ └── config
└── xinetd
└── config
Last updated