Add PERMIT_DOCKER=connected-networks

This commit is contained in:
Martin Schulze 2019-08-02 15:05:00 +02:00
parent 33c85d75ad
commit 234632913e
4 changed files with 35 additions and 3 deletions

View file

@ -1,4 +1,5 @@
NAME = tvial/docker-mailserver:testing
NON_DEFAULT_DOCKER_MAIL_NETWORK_NAME=non-default-docker-mail-network
all: build-no-cache backup generate-accounts run generate-accounts-after-run fixtures tests clean
all-fast: build backup generate-accounts run generate-accounts-after-run fixtures tests clean
@ -26,6 +27,19 @@ generate-accounts:
docker run --rm -e MAIL_USER=user2@otherdomain.tld -e MAIL_PASS=mypassword -t $(NAME) /bin/sh -c 'echo "$$MAIL_USER|$$(doveadm pw -s SHA512-CRYPT -u $$MAIL_USER -p $$MAIL_PASS)"' >> test/config/postfix-accounts.cf
run:
docker network create --driver bridge --subnet 192.168.133.0/24 $(NON_DEFAULT_DOCKER_MAIL_NETWORK_NAME)
# use two networks (default ("bridge") and our custom network) to recreate problematic test case where PERMIT_DOCKER=host would not help
docker run -d --name mail_smtponly_second_network \
-v "`pwd`/test/config":/tmp/docker-mailserver \
-v "`pwd`/test":/tmp/docker-mailserver-test \
-e SMTP_ONLY=1 \
-e PERMIT_DOCKER=connected-networks \
-e DMS_DEBUG=0 \
-e OVERRIDE_HOSTNAME=mail.my-domain.com \
--network bridge \
--network $(NON_DEFAULT_DOCKER_MAIL_NETWORK_NAME) \
-t $(NAME)
sleep 15
# Run containers
docker run -d --name mail \
-v "`pwd`/test/config":/tmp/docker-mailserver \
@ -319,8 +333,10 @@ clean:
mail_domainname \
mail_srs_domainname \
mail_with_relays \
mail_with_default_relay
mail_with_default_relay \
mail_smtponly_second_network
docker network rm ${NON_DEFAULT_DOCKER_MAIL_NETWORK_NAME}
@if [ -d config.bak ]; then\
rm -rf config ;\
mv config.bak config ;\