Ronald Kurr
Long time software developer.
What we are trying to accomplish is to create a mechanism that gives developers, testers and operations a self-service mechanism for deploying Docker-based solutions. In this context, AL and it collection of 50+ containers is considered a single solution.
As an organization, we are not ready to deploy pieces of a solution individually. We need a gating mechanism that allows users to deploy a unique combination of containers as a single entity. QA, in particular, needs to be in complete control of what is deployed in order to better associate defects to the correct build.
PUT /fragment HTTP/1.1
Accept: application/json
Content-Type: application/json
User-Agent: Java/1.8.0_72
Host: localhost:9090
Connection: keep-alive
Content-Length: 334
{
"fragment":"base64 encoding of the Transmission YML",
"applications":["TLO GE","TLO EE"],
"releases":["Milestone"]
}
/descriptor/application/TLO GE/Milestone/1
transmission-data:
image: busybox
container_name: transmission-data
command: 'true'
volumes:
- /var/lib/transmission-daemon
transmission:
image: dperson/transmission
container_name: transmission
volumes_from:
- transmission-data
restart: always
net: host
ports:
- 9091:9091
- 51413:51413
environment:
TRUSER: admin
TRPASSWD: admin
TIMEZONE: UTC
PUT /fragment HTTP/1.1
Accept: application/json
Content-Type: application/json
User-Agent: Java/1.8.0_72
Host: localhost:9090
Connection: keep-alive
Content-Length: 334
{
"fragment":"base64 encoding of the Plex YML",
"applications":["TLO GE","TLO EE"],
"releases":["Milestone"]
}
/descriptor/application/TLO GE/Milestone/2
transmission-data:
image: busybox
container_name: transmission-data
command: 'true'
volumes:
- /var/lib/transmission-daemon
transmission:
image: dperson/transmission
container_name: transmission
volumes_from:
- transmission-data
restart: always
net: host
ports:
- 9091:9091
- 51413:51413
environment:
TRUSER: admin
TRPASSWD: admin
TIMEZONE: UTC
plex-data:
image: busybox
container_name: plex-data
command: 'true'
volumes:
- /config
plex:
image: timhaak/plex
container_name: plex
restart: always
net: host
ports:
- 32400:32400
volumes_from:
- plex-data
- bittorrent-sync-data
volumes:
- /mnt/nas:/data
PUT /fragment HTTP/1.1
Accept: application/json
Content-Type: application/json
User-Agent: Java/1.8.0_72
Host: localhost:9090
Connection: keep-alive
Content-Length: 334
{
"fragment":"base64 encoding of the MySQL YML",
"applications":["TLO GE","TLO EE"],
"releases":["Milestone"]
}
/descriptor/application/TLO GE/Milestone/3
transmission-data:
image: busybox
container_name: transmission-data
command: 'true'
volumes:
- /var/lib/transmission-daemon
transmission:
image: dperson/transmission
container_name: transmission
volumes_from:
- transmission-data
restart: always
net: host
ports:
- 9091:9091
- 51413:51413
environment:
TRUSER: admin
TRPASSWD: admin
TIMEZONE: UTC
plex-data:
image: busybox
container_name: plex-data
command: 'true'
volumes:
- /config
plex:
image: timhaak/plex
container_name: plex
restart: always
net: host
ports:
- 32400:32400
volumes_from:
- plex-data
- bittorrent-sync-data
volumes:
- /mnt/nas:/data
mysql-data:
image: busybox
container_name: mysql-data
volumes:
- /var/lib/mysql
- /etc/mysql/conf.d
mysql:
image: mysql
container_name: mysql
net: host
volumes_from:
- mysql-data
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: sa
MYSQL_USER: mysql
MYSQL_PASSWORD: mysql
MYSQL_DATABASE: owncloud
Do we continue down this path or is there something else we should investigate?
By Ronald Kurr
Possible automated deployment pipeline for Docker containers.