-
Notifications
You must be signed in to change notification settings - Fork 13
Creating an edX Docker image
A Docker image containing the edX stack can be created using a Dockerfile and the docker build
command. To build the image, you'll need a machine running Docker (4GB RAM recommended).
Note: These instructions show how to build a Cypress image.
Clone the configuration repo
$ git clone https://github.com/appsembler/configuration.git -b appsembler_docker/feature/mergeCypress configuration
The files required to build a particular image should be located at configuration/docker/<image_name>
.
Overwrite server-vars.yml
The configuration repo contains a dummy server-vars.yml
because we store most of our server-vars files in the edx-configs repo. Overwrite the dummy server-vars.yml
with the file you want. For example,
$ git clone https://github.com/noderabbit-team/edx-configs
$ cp edx-configs/baseSettings/files/cypress-docker-server-vars.yml configuration/docker/cypress-lite/server-vars.yml
Build the image
$ cd configuration/docker/cypress-lite
$ docker build -t appsembler/cypress .
Known issues
We use runit as our init process inside the container, which seems to cause some funkiness with different services. Occasionally, an Ansible task will fail while building an image because a service hasn't (re)started properly. At some point, we should investigate and fix these issues, but in the meantime, you can just rerun docker build
.