1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
version: '2.1'
# The tag of images is used by docker compose file to launch the correct
# docker containers. By default we always launch the "latest" tag.
#
# But in the "docker build" phase, we also tag the images with a unique tag,
# the SHA1 hash of all files used for "docker build" - see sha1tree() in
# provisioning.
#
# So if you want to update the docker image at a specific time, make sure that
# 1. you modify this file to run the specific image's SHA1 tag, instead of
# "latest"
# 2. you build two docker images in provisioning, the currently used one,
# plus the new one that you tag as "latest"
# 3. you switch this file to the "latest" tag when ready
# You can run `docker images` to list all the tags of available images:
# For example:
# REPOSITORY TAG
# qt-test-server-apache2 537fe302f61851d1663f41495230d8e3554a4a13
services:
apache2:
extends:
file: ${SHARED_DATA}/docker-compose-common.yml
service: ${SHARED_SERVICE}
container_name: qt-test-server-apache2
hostname: ${HOST_NAME:-apache2}
build:
context: .
args:
provisioningImage: qt-test-server-apache2:latest
shareDir: ./common
serviceDir: ./apache2
entrypoint: service/startup.sh
command: [service/ssl.sh, service/apache2.sh]
squid:
extends:
file: ${SHARED_DATA}/docker-compose-common.yml
service: ${SHARED_SERVICE}
container_name: qt-test-server-squid
hostname: ${HOST_NAME:-squid}
depends_on:
- apache2
external_links:
- apache2:apache2.${TEST_DOMAIN}
- cyrus:cyrus.${TEST_DOMAIN}
- iptables:iptables.${TEST_DOMAIN}
- vsftpd:vsftpd.${TEST_DOMAIN}
- echo:echo.${TEST_DOMAIN}
build:
context: .
args:
provisioningImage: qt-test-server-squid:latest
shareDir: ./common
serviceDir: ./squid
entrypoint: service/startup.sh
command: service/squid.sh
vsftpd:
extends:
file: ${SHARED_DATA}/docker-compose-common.yml
service: ${SHARED_SERVICE}
container_name: qt-test-server-vsftpd
hostname: ${HOST_NAME:-vsftpd}
build:
context: .
args:
provisioningImage: qt-test-server-vsftpd:latest
shareDir: ./common
serviceDir: ./vsftpd
entrypoint: service/startup.sh
command: service/vsftpd.sh
ftp-proxy:
extends:
file: ${SHARED_DATA}/docker-compose-common.yml
service: ${SHARED_SERVICE}
container_name: qt-test-server-ftp-proxy
hostname: ${HOST_NAME:-ftp-proxy}
depends_on:
- vsftpd
external_links:
- vsftpd:vsftpd.${TEST_DOMAIN}
build:
context: .
args:
provisioningImage: qt-test-server-ftp-proxy:latest
shareDir: ./common
serviceDir: ./ftp-proxy
entrypoint: service/startup.sh
command: service/ftp-proxy.sh
danted:
extends:
file: ${SHARED_DATA}/docker-compose-common.yml
service: ${SHARED_SERVICE}
container_name: qt-test-server-danted
hostname: ${HOST_NAME:-danted}
depends_on:
- apache2
- vsftpd
- ftp-proxy
external_links:
- apache2:apache2.${TEST_DOMAIN}
- vsftpd:vsftpd.${TEST_DOMAIN}
- ftp-proxy:ftp-proxy.${TEST_DOMAIN}
- cyrus:cyrus.${TEST_DOMAIN}
- echo:echo.${TEST_DOMAIN}
build:
context: .
args:
provisioningImage: qt-test-server-danted:latest
shareDir: ./common
serviceDir: ./danted
entrypoint: service/startup.sh
command: service/danted.sh
cyrus:
extends:
file: ${SHARED_DATA}/docker-compose-common.yml
service: ${SHARED_SERVICE}
container_name: qt-test-server-cyrus
hostname: ${HOST_NAME:-cyrus}
build:
context: .
args:
provisioningImage: qt-test-server-cyrus:latest
shareDir: ./common
serviceDir: ./cyrus
entrypoint: service/startup.sh
command: [service/ssl.sh, service/cyrus.sh]
iptables:
extends:
file: ${SHARED_DATA}/docker-compose-common.yml
service: ${SHARED_SERVICE}
container_name: qt-test-server-iptables
hostname: ${HOST_NAME:-iptables}
build:
context: .
args:
provisioningImage: qt-test-server-iptables:latest
shareDir: ./common
serviceDir: ./iptables
entrypoint: service/startup.sh
command: service/iptables.sh
cap_add:
- NET_ADMIN
- NET_RAW
echo:
extends:
file: ${SHARED_DATA}/docker-compose-common.yml
service: ${SHARED_SERVICE}
container_name: qt-test-server-echo
hostname: ${HOST_NAME:-echo}
build:
context: .
args:
provisioningImage: qt-test-server-echo:latest
shareDir: ./common
serviceDir: ./echo
entrypoint: service/startup.sh
command: service/echo.sh
|