From e99fe6b35439577318916ba2d8b28a2d6be2cdfc Mon Sep 17 00:00:00 2001 From: Ryan Chu Date: Mon, 2 Jul 2018 14:57:17 +0200 Subject: [PATCH] Docker Provisioning: Install Avahi and enable mDNS service discovery MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The challenge of connecting Docker containers from the host is to resolve a predefined hostname to an IP address assigned at runtime. For Unix-like platforms such as Ubuntu, it can be done by either hard-code the IP addresses or creating a DNS server. Both of them are not user-friendly which need root permission to modify system files. Avahi is a free Zeroconf implementation and provides multicast DNS (mDNS) service discovery. It enables Docker containers to publish their services on a local network. For the host systems supporting mDNS technology, they will automatically discover the services in a local domain without extra user-efforts. Task-number: QTQAINFRA-1686 Change-Id: I1ef464a455cef5d331a3e2eb0194e2741172ef95 Reviewed-by: Edward Welbourne Reviewed-by: Ryan Chu Reviewed-by: Jędrzej Nowacki --- .../common/linux/testserver/apache2/Dockerfile | 2 +- .../common/linux/testserver/danted/Dockerfile | 2 +- .../common/linux/testserver/ftp-proxy/Dockerfile | 2 +- .../common/linux/testserver/squid/Dockerfile | 2 +- .../common/linux/testserver/vsftpd/Dockerfile | 2 +- .../qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh | 10 ---------- 6 files changed, 5 insertions(+), 15 deletions(-) diff --git a/coin/provisioning/common/linux/testserver/apache2/Dockerfile b/coin/provisioning/common/linux/testserver/apache2/Dockerfile index b502a008..bb2dc850 100644 --- a/coin/provisioning/common/linux/testserver/apache2/Dockerfile +++ b/coin/provisioning/common/linux/testserver/apache2/Dockerfile @@ -1,5 +1,5 @@ FROM ubuntu:16.04 -RUN apt-get update && apt-get install -y apache2 libcgi-session-perl wget +RUN apt-get update && apt-get install -y apache2 libcgi-session-perl wget avahi-daemon EXPOSE 80 443 # install configurations and test data diff --git a/coin/provisioning/common/linux/testserver/danted/Dockerfile b/coin/provisioning/common/linux/testserver/danted/Dockerfile index d706b7e7..eb2ac6ff 100644 --- a/coin/provisioning/common/linux/testserver/danted/Dockerfile +++ b/coin/provisioning/common/linux/testserver/danted/Dockerfile @@ -1,5 +1,5 @@ FROM ubuntu:16.04 -RUN apt-get update && apt-get install -y gdebi-core=0.9.5.7ubuntu1 wget +RUN apt-get update && apt-get install -y gdebi-core=0.9.5.7ubuntu1 wget avahi-daemon RUN wget http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/dante-server_1.4.1-1_amd64.deb RUN gdebi -n dante-server_1.4.1-1_amd64.deb EXPOSE 1080-1081 diff --git a/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile b/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile index 2bf9220b..cecb2dca 100644 --- a/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile +++ b/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile @@ -1,3 +1,3 @@ FROM ubuntu:16.04 -RUN apt-get update && apt-get install -y ftp-proxy=1.9.2.4-10 +RUN apt-get update && apt-get install -y ftp-proxy=1.9.2.4-10 avahi-daemon EXPOSE 2121 diff --git a/coin/provisioning/common/linux/testserver/squid/Dockerfile b/coin/provisioning/common/linux/testserver/squid/Dockerfile index c4256f48..0b930bca 100644 --- a/coin/provisioning/common/linux/testserver/squid/Dockerfile +++ b/coin/provisioning/common/linux/testserver/squid/Dockerfile @@ -1,3 +1,3 @@ FROM ubuntu:16.04 -RUN apt-get update && apt-get install -y squid=3.5.12-1ubuntu7.5 +RUN apt-get update && apt-get install -y squid=3.5.12-1ubuntu7.5 avahi-daemon EXPOSE 3128-3130 diff --git a/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile b/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile index 58ca6cff..f8e32d40 100644 --- a/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile +++ b/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile @@ -1,5 +1,5 @@ FROM ubuntu:16.04 -RUN apt-get update && apt-get install -y vsftpd=3.0.3-3ubuntu2 ftp=0.17-33 wget +RUN apt-get update && apt-get install -y vsftpd=3.0.3-3ubuntu2 ftp=0.17-33 wget avahi-daemon EXPOSE 20-21 # install configurations and test data diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh index 18c106ae..90c3a7eb 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh @@ -48,15 +48,5 @@ sudo docker info sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose -# Append address and hostname of test servers to CI environment. -cat <