>>106958620
Script that builds nss-docker-ng in a Docker container and then installs it on the host if anyone wants it:
#!/bin/sh
if [ -f /.dockerenv ]
then
apt-get update || exit 1
apt-get install -y build-essential patchelf cargo git || exit 1
cd /tmp
[ -d nss-docker-ng ] || git clone https://github.com/petski/nss-docker-ng.git
cd nss-docker-ng
cargo build --release && \
patchelf --set-soname libnss_docker_ng.so.2 target/release/libnss_docker_ng.so
else
[ -e "/usr/local/lib/nss-docker-ng/libnss_docker_ng.so.2" ] && exit 0
cd /opt/ansible_root || exit 1
docker run -it --rm -v "$PWD":"$PWD":ro -v /tmp:/tmp debian:$(lsb_release -cs)-slim /bin/bash -x "$PWD"/nss-docker-ng.sh || exit 1
cd /tmp/nss-docker-ng || exit 1
DESTDIR="/usr/local/lib/nss-docker-ng/" && \
sudo --preserve-env=DESTDIR install -m 0755 -d "$DESTDIR" && \
sudo --preserve-env=DESTDIR install -m 0644 target/release/libnss_docker_ng.so "${DESTDIR}/libnss_docker_ng.so" && \
echo "${DESTDIR}" | sudo tee /etc/ld.so.conf.d/nss-docker-ng.conf > /dev/null && \
sudo /sbin/ldconfig
fi
You also have to configure /etc/nsswitch.conf like:
hosts: docker_ng resolve [NOTFOUND=return] files dns