tree: 35ac1e237a3040f03a274276619c4076f7025f95 [path history] [tgz]
  1. mountFolder/
  2. build.sh
  3. entrypoint.sh
  4. push.sh
  5. pythonsysds.Dockerfile
  6. README.md
  7. runDocker.sh
  8. sysds.Dockerfile
  9. testsysds.Dockerfile
docker/README.md

Docker guide

To use docker and systemDS there are two options. The first is to build your own docker image. The other option is to download the already build image from docker.

Build

To Build the docker image simply run the build script.

./docker/build.sh

Afterwards you should have a local image with the id sebaba/sysds:0.2. To execute any given DML script follow the step Run.

Run

Running SystemDS in a docker container is as simple as constructing any DML script Then Download the docker image sebaba/sysds:0.2 or build your own.

docker pull sebaba/sysds:0.2

Verify that the docker image correctly works simply by running it, make sure that your terminal is pointing at the root of you systemds git clone.

./docker/runDocker.sh

This above command will mount the folder docker/mountFolder, and execute the script named main.dml inside the folder using the docker container.

You can mount any such folder and execute systemds on by changing the first part of the -v argument of the following command:

docker run \
  -v $(pwd)/docker/mountFolder:/input \
  --rm sebaba/sysds:0.2

Testing

We also have a docker image for execution of tests. This enables faster test execution on the github actions. To build this image simply run the same command as above.

./docker/build.sh

Because the github action pulls the image from docker hub the image has to be pushed to docker hub to produce any change in the behavior of the testing.

docker push sebaba/testingsysds:0.2

For each of the tests that require R, this image is simply used, because it skips the installation of the R packages, since they are installed in this image.

Test your testing image locally by running the following command:

docker run \
  -v $(pwd):/github/workspace \
  sebaba/testingsysds:0.2 \
  org.apache.sysds.test.component.*.**