This project sets up a set of docker containers for multiple purposes:
- Production tomcat app servers
- Development app server
- Teamcity app servers.
Each uses different files but they all have a common flow.
The reason for the 'nine' directory is that docker-compose automatically sets up a network for docker containers based on the containing directory of the project.
Rather than have it be called 'docker_default' I chose to have it be called 'nine_default'.
- A 64-bit system with adequate RAM and disk space.
- Docker installed from https://www.docker.io or available from your distro repository
- An understanding of performance issues for your platform with docker.
- Disk space plan
- Production systems will need an external database server.
This chapter describes where things can be found on the host system.
The directory containing the docker repository is the docker directory.
A developer may have multiple docker directories, but teamcity and customer sites will only have one.
The docker directory (and this project) contains only things from github. No site-specific configuration, no apps, no mapped volumes. It keeps everything clear and documents the site.
9ci application server software goes into /var/9ci
for UNIX and D:\9ci
on Windows. For
customer and common sites (9ci internal servers) we will stick with that convention. This
directory is called the 9ci directory within this document.
On the application server, everything we install related to the application goes into the 9ci directory.
However with this project you can put the 9ci directory wherever you want. You need to have
the docker directory directly inside of your 9ci directory. So on UNIX the docker
directory is /var/9ci/docker
and on Windows it's D:\9ci\docker
.
Wherever you put the docker directory, the parent of this directory becomes your 9ci directory.
The nine
directory contains folders to build images we use. The documentation there
has internal image locations and information about what you need to know.