34 lines
983 B
Bash
34 lines
983 B
Bash
#!/bin/bash
|
|
|
|
function getContainerHealth {
|
|
docker inspect --format "{{.State.Health.Status}}" $1
|
|
}
|
|
|
|
function waitContainer {
|
|
while STATUS=$(getContainerHealth $1); [ $STATUS != "healthy" ]; do
|
|
if [ $STATUS == "unhealthy" ]; then
|
|
echo "Failed!"
|
|
exit -1
|
|
fi
|
|
printf .
|
|
lf=$'\n'
|
|
sleep 1
|
|
done
|
|
printf "$lf"
|
|
}
|
|
|
|
mkdir /tmp/shared
|
|
|
|
# start the dc
|
|
docker run -dit --name dc -v /tmp/shared:/shared --hostname krb.domain.test --cap-add SYS_ADMIN icewind1991/samba-krb-test-dc
|
|
DC_IP=$(docker inspect dc --format '{{.NetworkSettings.IPAddress}}')
|
|
|
|
waitContainer dc
|
|
|
|
# start apache
|
|
docker run -d --name apache -v $PWD:/var/www/html -v /tmp/shared:/shared --dns $DC_IP --hostname httpd.domain.test icewind1991/samba-krb-test-apache
|
|
APACHE_IP=$(docker inspect apache --format '{{.NetworkSettings.IPAddress}}')
|
|
|
|
# add the dns record for apache
|
|
docker exec dc samba-tool dns add krb.domain.test domain.test httpd A $APACHE_IP -U administrator --password=passwOrd1
|