adjust install scripts; not ready for podman yet
This commit is contained in:
parent
73e8a856e9
commit
627900029c
16
docker.bind.service
Normal file
16
docker.bind.service
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=BIND9 Container
|
||||||
|
After=docker.service
|
||||||
|
Requires=docker.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
TimeoutStartSec=0
|
||||||
|
Restart=always
|
||||||
|
ExecStartPre=-/usr/bin/docker stop bind9
|
||||||
|
ExecStartPre=-/usr/bin/docker rm bind9
|
||||||
|
# note: this container is actually provding DNS service, so when that is missing, the pull fails.
|
||||||
|
# ExecStartPre=/usr/bin/docker pull docker.io/internetsystemsconsortium/bind9:9.18
|
||||||
|
ExecStart=/etc/bind/run_bind_container.sh
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
19
run_bind_podman_mac.sh
Executable file
19
run_bind_podman_mac.sh
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
BASE_CONF_DIR=/Users/davidb/src/docker_bind
|
||||||
|
: "${DNS_PORT:=1053}"
|
||||||
|
: "${RNDC_PORT:=1953}"
|
||||||
|
CMD="/usr/sbin/named -f -4 -u davidb"
|
||||||
|
[ "$1" = "interactive" ] && ARGS="-ti --entrypoint=/bin/bash" && CMD=""
|
||||||
|
podman run $ARGS \
|
||||||
|
--rm \
|
||||||
|
--arch=amd64 \
|
||||||
|
--name=bind9 \
|
||||||
|
--publish $RNDC_PORT:953/tcp \
|
||||||
|
--publish $DNS_PORT:53/udp \
|
||||||
|
--publish $DNS_PORT:53/tcp \
|
||||||
|
-v $BASE_CONF_DIR/cfg:/etc/bind \
|
||||||
|
-v $BASE_CONF_DIR/cache:/var/cache/bind \
|
||||||
|
-v $BASE_CONF_DIR/zones:/var/lib/bind \
|
||||||
|
-v $BASE_CONF_DIR/log:/var/log \
|
||||||
|
localhost/blacka/bind9:9.18 $CMD
|
||||||
31
setup_docker.sh
Executable file
31
setup_docker.sh
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# NOTE: groupadd and useradd require root.
|
||||||
|
[ "$EUID" -ne 0 ] && echo "Must be run by root" && exit 1
|
||||||
|
|
||||||
|
IMAGE="docker.io/internetsystemsconsortium/bind9:9.18"
|
||||||
|
|
||||||
|
# determine current uid and gid
|
||||||
|
uidgid=$(docker run --rm --entrypoint=/bin/sh "$IMAGE" -c "/usr/bin/id -u bind; /usr/bin/id -g bind")
|
||||||
|
read -d '' -r uid gid <<< "$uidgid" || :
|
||||||
|
|
||||||
|
# create the group and user
|
||||||
|
id -g bind >/dev/null 2>&1 || groupadd -f -g "$gid" bind
|
||||||
|
id -u bind >/dev/null 2>&1 || useradd -u "$uid" -g "$gid" -M --no-log-init bind
|
||||||
|
|
||||||
|
# create our main directory setup
|
||||||
|
install -d -o bind -g bind -m 0755 /etc/bind/cfg /etc/bind/cache /etc/bind/zones /etc/bind/log/named
|
||||||
|
# copy over our config and data without overwriting anything, hopefully.
|
||||||
|
for d in cfg cache zones; do
|
||||||
|
rsync -av --chown bind:bind --ignore-existing ./$d/ /etc/bind/$d/
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -f docker.named.service ]; then
|
||||||
|
install -m 0644 docker.named.service /etc/systemd/system/docker.named.service
|
||||||
|
fi
|
||||||
|
|
||||||
|
systemctl try-restart docker.named.service
|
||||||
|
|
||||||
|
exit 0
|
||||||
Loading…
Reference in New Issue
Block a user