---
layout: default
navsection: installguide
-title: Installing with Docker
+title: Set up Docker
...
+{% comment %}
+Copyright (C) The Arvados Authors. All rights reserved.
-h2. Purpose
-
-This installation method is appropriate for local testing, evaluation, and
-development. For production use, this method is not recommended.
-
-h2. Prerequisites
-
-# A GNU/Linux (virtual) machine
-# A working Docker installation (see "Installing Docker":https://docs.docker.com/installation/)
-
-h2. Download the source tree
-
-<notextile>
-<pre><code>~$ <span class="userinput">cd $HOME</span> # (or wherever you want to install)
-~$ <span class="userinput">git clone https://github.com/curoverse/arvados.git</span>
-</code></pre></notextile>
-
-See also: "Downloading the source code":https://arvados.org/projects/arvados/wiki/Download on the Arvados wiki.
-
-h2. Building the Arvados Docker containers
-
-First of all, a suitable @config.yml@ file is needed.
-
-<notextile>
-<pre><code>~$ <span class="userinput">cd arvados/docker</span>
-~$ <span class="userinput">cp config.yml.example config.yml</span>
-</code></pre></notextile>
-
-Edit the @config.yml@ file and fill in values for at a minimum these
-parameters:
-
-<pre>
-PUBLIC_KEY_PATH
-ARVADOS_USER_NAME
-API_HOSTNAME
-API_AUTO_ADMIN_USER
-</pre>
-
-Then build the docker containers (this will take a while):
-
-<notextile>
-<pre><code>
-~$ <span class="userinput">./build.sh</span>
-...
-Step 7 : ADD generated/setup.sh /usr/local/bin/setup.sh
- ---> d7c0e7fdf7ab
-Removing intermediate container f3d81180795d
-Step 8 : CMD ["/usr/bin/supervisord", "-n"]
- ---> Running in 84c64cb9f0d5
- ---> d6cbb5002604
-Removing intermediate container 84c64cb9f0d5
-Successfully built d6cbb5002604
-date >shell-image
-</code></pre></notextile>
-
-If all goes well, you should now have a number of docker images built:
-
-<notextile>
-<pre><code>~$ <span class="userinput">docker.io images</span>
-REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
-arvados/shell latest d6cbb5002604 10 minutes ago 1.613 GB
-arvados/sso latest 377f1fa0108e 11 minutes ago 1.807 GB
-arvados/keep latest ade0e0d2dd00 12 minutes ago 210.8 MB
-arvados/workbench latest b0e4fb6da385 12 minutes ago 2.218 GB
-arvados/doc latest 4b64daec9454 12 minutes ago 1.524 GB
-arvados/compute latest 7f1f5f7faf54 13 minutes ago 1.862 GB
-arvados/slurm latest f5bfd1008e6b 17 minutes ago 1.573 GB
-arvados/api latest 6b93c5f5fc42 17 minutes ago 2.274 GB
-arvados/passenger latest add2d11fdf24 18 minutes ago 1.738 GB
-arvados/base latest 81eaadd0c6f5 22 minutes ago 1.463 GB
-arvados/debian 7.6 f339ce275c01 6 days ago 116.8 MB
-arvados/debian latest f339ce275c01 6 days ago 116.8 MB
-arvados/debian wheezy f339ce275c01 6 days ago 116.8 MB
-crosbymichael/skydock latest e985023521f6 3 months ago 510.7 MB
-crosbymichael/skydns next 79c99a4608ed 3 months ago 525 MB
-crosbymichael/skydns latest 1923ce648d4c 5 months ago 137.5 MB
-</code></pre></notextile>
-
-h2. Updating the Arvados Docker containers
-
-If there has been an update to the Arvados Docker building code, it is safest to rebuild the Arvados Docker images from scratch. All build information can be cleared with the '--clean' option to build.sh:
-
-<notextile>
-<pre><code>~$ <span class="userinput">./build.sh --clean</span></code></pre>
-</notextile>
-
-You can also use '--realclean', which does what '--clean' does and in addition removes all Arvados Docker containers and images from your system, with the exception of the arvados/debian image.
-
-<notextile>
-<pre><code>~$ <span class="userinput">./build.sh --realclean</span></code></pre>
-</notextile>
-
-Finally, the '--deepclean' option does what '--realclean' does, and also removes the arvados/debian image.
-
-<notextile>
-<pre><code>~$ <span class="userinput">./build.sh --deepclean</span></code></pre>
-</notextile>
-
-h2. Running the Arvados Docker containers
-
-The @arvdock@ command can be used to start and stop the docker containers. It has a number of options:
-
-<notextile>
-<pre><code>
-~$ <span class="userinput">./arvdock -h</span>
-
-usage: ./arvdock (start|stop|restart|test) [options]
-
-./arvdock start/stop/restart options:
- -d[port], --doc[=port] Documentation server (default port 9898)
- -w[port], --workbench[=port] Workbench server (default port 9899)
- -s[port], --sso[=port] SSO server (default port 9901)
- -a[port], --api[=port] API server (default port 9900)
- -c, --compute Compute nodes (starts 2)
- -v, --vm Shell server
- -n, --nameserver Nameserver
- -k, --keep Keep servers
- --ssh Enable SSH access to server containers
- -h, --help Display this help and exit
-
- If no options are given, the action is applied to all servers.
-
-./arvdock test [testname] [testname] ...
- By default, all tests are run.
-</code>
-</pre>
-</notextile>
-
-The @--ssh@ option can be useful to debug issues with the Docker containers; it allows you to ssh into the running containers as the @root@ user, provided you have access to the private key that matches the public key specified in @config.yml@'s PUBLIC_KEY_PATH variable.
-
-Start the docker containers:
-
-<notextile>
-<pre><code>
-~$ <span class="userinput">./arvdock start</span>
-sso_server
-Starting container:
- /usr/bin/docker.io run -d -i -t -p 9901:443 --name sso_server arvados/sso
-api_server
-Starting container:
- /usr/bin/docker.io run -d -i -t -p 9900:443 --name api_server --link sso_server:sso arvados/api
-keep_server_0
-Starting container:
- /usr/bin/docker.io run -d -i -t -p 25107:25107 --name keep_server_0 -v /tmp/tmp.aCSx8Pq6Wb:/dev/keep-0 --link api_server:api arvados/keep
-keep_server_1
-Starting container:
- /usr/bin/docker.io run -d -i -t -p 25108:25107 --name keep_server_1 -v /tmp/tmp.m4OQ9WB73G:/dev/keep-0 --link api_server:api arvados/keep
-doc_server
-Starting container:
- /usr/bin/docker.io run -d -i -t -p 9898:80 --name doc_server arvados/doc
-
-*****************************************************************
-You can access the Arvados documentation at http://localhost:9898
-*****************************************************************
-
-workbench_server
-Starting container:
- /usr/bin/docker.io run -d -i -t -p 9899:80 --name workbench_server --link api_server:api arvados/workbench
-
-*****************************************************************
-You can access the Arvados workbench at http://localhost:9899
-*****************************************************************
-</code></pre></notextile>
-
-h2. Accessing workbench
-
-Point your browser to the Dockerized workbench:
-
-<notextile>
-<pre><code><span class="userinput">https://localhost:9899</span>
-</code></pre>
-</notextile>
-
-Now use the google account you specified as @API_AUTO_ADMIN_USER@ in @config.yml@ to log in. You will be prompted *twice* by your browser that you are accessing a site with an untrusted SSL certificate. This is normal; by default the Arvados Docker installation uses self-signed SSL certificates for the SSO and API servers, respectively.
-
+SPDX-License-Identifier: CC-BY-SA-3.0
+{% endcomment %}
+{% include 'install_compute_docker' %}