Building the D4ST Containers

The base D4ST containers are built automatically by the Docker hub site but you can build containers directly using the docker build command.

To build a container locally use the docker build command and specify the appropriate container tag (the name by which you refer to the container in your Docker compose file).

For example, to rebuild the GitLab container you would navigate to the containers/gitlab-d4st directory and then run the docker build command like so:
$ cd containers/gitlib-dist
$ docker build -t d4st/gitlab-d4st .
Sending build context to Docker daemon 14.85 kB
Step 1/6 : FROM sameersbn/gitlab
 ---> 647c3323c92f
Step 2/6 : MAINTAINER Eliot Kimber "ekimber@contrext.com"
 ---> Running in bb6abe4faa62
 ---> 8e9a1404cd76
Removing intermediate container bb6abe4faa62
Step 3/6 : COPY admin-scripts /var/opt/d4st/bin/
 ---> 3cd1cd7884af
Removing intermediate container cc00ac24db81
... (lots more messages) ...
Step 6/6 : CMD /assets/wrapper
 ---> Running in fd5bf4369cb5
 ---> 0a894abebeb6
Removing intermediate container fd5bf4369cb5
Successfully built 0a894abebeb6
$ 

If you are making your own container configurations and can make them publicly available, the easiest thing to do is to use the Docker hub with automatic builds to automatically build the images for you. This makes the images available to anyone. To do this, you put your Dockerfile in a GitHub or BitBucket public repository and then create a Docker Hub automated build that links to the Dockerfile in that repository. Whenever you push a new version to the git repository Docker Hub will automatically build a new image. You can also configure the automated build to use git branch names as image tags. You can look at the configurations for the D4ST containers as an example of how to set up automated builds.

If you can't make your images public and your enterprise does not provide it's own internal Docker hub or equivalent, you can set up Docker compose files to build images. See the Docker compose documentation for details.