You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemds.apache.org by ja...@apache.org on 2022/01/10 10:57:32 UTC

[systemds] branch main updated: [SYSTEMDS-3270][DOCS] Docker usage documentation (#1501)

This is an automated email from the ASF dual-hosted git repository.

janardhan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git


The following commit(s) were added to refs/heads/main by this push:
     new e46c656  [SYSTEMDS-3270][DOCS] Docker usage documentation (#1501)
e46c656 is described below

commit e46c656e600e12a92d96625a80c004e03cdeba6d
Author: Janardhan Pulivarthi <j1...@protonmail.com>
AuthorDate: Mon Jan 10 16:25:39 2022 +0530

    [SYSTEMDS-3270][DOCS] Docker usage documentation (#1501)
---
 docs/site/docker.md | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 98 insertions(+)

diff --git a/docs/site/docker.md b/docs/site/docker.md
new file mode 100644
index 0000000..553247d
--- /dev/null
+++ b/docs/site/docker.md
@@ -0,0 +1,98 @@
+---
+layout: site
+title: Use SystemDS with Docker
+---
+<!--
+{% comment %}
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+{% endcomment %}
+-->
+
+
+[Docker](https://docs.docker.com/get-docker/) enables you to separate applications from
+your infrastructure. This provides a way to manage the instrafrastructure the same way
+you do with the software.
+
+With Docker, enabling GPU support would be much easier on linux. Since only the NVIDIA
+GPU drivers are required on the host machine (NVIDIA CUDA toolkit is not required).
+
+## SystemDS Docker requirements
+
+Install [Docker](https://docs.docker.com/get-docker/) specific to your machine
+
+Note: If you would like to manage docker as a non-root user, refer to
+[linux-postinstall](https://docs.docker.com/engine/install/linux-postinstall/)
+
+## Download SystemDS Docker image
+
+The official SystemDS docker images are located at [apache/systemds](https://hub.docker.com/r/apache/systemds)
+Docker Hub repository. Image releases are tagged based on the release channel:
+
+| Tag | Description |
+| --- | --- |
+| `nightly` | Builds for SystemDS `main` branch. Used by SystemDS developers |
+
+
+Usage examples:
+
+```sh
+docker pull apache/systemds:nightly         # Nightly release with CPU
+```
+
+### Start the Docker container
+
+
+Options:
+
+- `-it` - interactive
+- `--rm` - cleanup
+- `-p` - port forwarding
+
+For comprehensive guide, refer [`docker run`](https://docs.docker.com/engine/reference/run/)
+
+```sh
+
+docker run [-it] [--rm] [-p hostPort:containerPort] apache/systemds[:tag] [command]
+```
+
+#### Examples
+
+To verify the SystemDS installation,
+
+Create a `dml` file, for example
+
+```sh
+touch hello.dml
+
+cat <<EOF >>./hello.dml
+print("This is SystemDS")
+EOF
+```
+and run it.
+
+```sh
+docker run -it --rm -v $PWD:/tmp -w /tmp apache/systemds:nightly systemds ./hello.dml
+```
+
+The output is `"This is SystemDS"` after successful installation.
+For SystemDS usage instructions, see [standalone instructions](./run).
+
+
+This way you can run a DML program developed on the host machine, mount the host directory and change the
+working directory with [`-v` flag](https://docs.docker.com/engine/reference/run/#volume-shared-filesystems)
+and [`-w` flags](https://docs.docker.com/engine/reference/run/#workdir).
+
+