D4ST GitLab Docker Container

The d4st/gitlab container provides a fully-featured instance of the GitLab git server and GitLab continous Integration (CI) server.

The GitLab container provides two essential components of a D4ST system: a remote versioning repository (git in this case) and a continuous integration (CI) server.

Container Details

container name


A typical run specification is:
docker run  -d \
    --name gitlab-d4st \
    --hostname $(docker-machine ip default) \
    --publish 443:443 --publish 80:80 --publish 8022:22 \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/data:/var/opt/gitlab \

This runs the server in the background (-d), names the running container "gitlab", tells it that it's host name is the IP address associated with the docker machine, binds the server ports to host ports (note that the SSH port is bound to host port "8022" to handle the case where something else on the host may already listen on port 22).

The --volume parameters are mapping volumes inside the docker-machine VM to volumes in the container. These volumes persist across invocations of the container but go away if the docker machine is killed or restarted.

Configuration Details

The default D4ST setup uses the configuration as specified in the Sameersbn GitLab Docker container documentation.