3 navsection: installguide
4 title: Installing with Docker
7 {% include 'alert_docker' %}
11 # A GNU/Linux (virtual) machine
12 # A working Docker installation
14 h2. Download the source tree
17 <pre><code>~$ <span class="userinput">cd $HOME</span> # (or wherever you want to install)
18 ~$ <span class="userinput">git clone https://github.com/curoverse/arvados.git</span>
19 </code></pre></notextile>
21 See also: "Downloading the source code":https://arvados.org/projects/arvados/wiki/Download on the Arvados wiki.
23 h2. Building the Arvados Docker containers
25 First of all, a suitable @config.yml@ file is needed.
28 <pre><code>~$ <span class="userinput">cd arvados/docker</span>
29 ~$ <span class="userinput">cp config.yml.example config.yml</span>
30 </code></pre></notextile>
32 Edit the @config.yml@ file and fill in values for at a minimum these
41 Then build the docker containers (this will take a while):
45 ~$ <span class="userinput">./build.sh</span>
48 Step 9 : ADD apache2_foreground.sh /etc/apache2/foreground.sh
50 Step 10 : CMD ["/etc/apache2/foreground.sh"]
51 ---> Running in 82d59061ead8
53 Successfully built 72cee36a9281
54 Removing intermediate container 2bc8c98c83c7
55 Removing intermediate container 9457483a59cf
56 Removing intermediate container 7cc5723df67c
57 Removing intermediate container 5cb2cede73de
58 Removing intermediate container 0acc147a7f6d
59 Removing intermediate container 82d59061ead8
60 Removing intermediate container 9c022a467396
61 Removing intermediate container 16044441463f
62 Removing intermediate container cffbbddd82d1
64 </code></pre></notextile>
66 If all goes well, you should now have a number of docker images built:
69 <pre><code>~$ <span class="userinput">docker.io images</span>
70 REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
71 arvados/sso latest 72cee36a9281 11 seconds ago 1.727 GB
72 arvados/keep latest c3842f856bcb 56 seconds ago 210.6 MB
73 arvados/workbench latest b91aa980597c About a minute ago 2.07 GB
74 arvados/doc latest 050e9e6b8213 About a minute ago 1.442 GB
75 arvados/api latest 79843d0a8997 About a minute ago 2.112 GB
76 arvados/passenger latest 2342a550da7f 2 minutes ago 1.658 GB
77 arvados/base latest 68caefd8ea5b 5 minutes ago 1.383 GB
78 arvados/debian 7.5 6e32119ffcd0 8 minutes ago 116.8 MB
79 arvados/debian latest 6e32119ffcd0 8 minutes ago 116.8 MB
80 arvados/debian wheezy 6e32119ffcd0 8 minutes ago 116.8 MB
81 </code></pre></notextile>
83 h2. Updating the Arvados Docker containers
85 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:
88 <pre><code>~$ <span class="userinput">./build.sh --clean</span></code></pre>
91 You can also use '--realclean', which does what '--clean' does and in addition removes all Arvados Docker containers and images from your system.
94 <pre><code>~$ <span class="userinput">./build.sh --realclean</span></code></pre>
97 h2. Running the Arvados Docker containers
99 The @arvdock@ command can be used to start and stop the docker containers. It has a number of options:
103 ~$ <span class="userinput">./arvdock -h</span>
105 usage: ./arvdock (start|stop|restart|test) [options]
107 ./arvdock start/stop/restart options:
108 -d [port], --doc[=port] Documentation server (default port 9898)
109 -w [port], --workbench[=port] Workbench server (default port 9899)
110 -s [port], --sso[=port] SSO server (default port 9901)
111 -a [port], --api[=port] API server (default port 9900)
112 -k, --keep Keep servers
113 --ssh Enable SSH access to server containers
114 -h, --help Display this help and exit
116 If no options are given, the action is applied to all servers.
118 ./arvdock test [testname] [testname] ...
119 By default, all tests are run.
124 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.
126 Start the docker containers:
130 ~$ <span class="userinput">./arvdock start</span>
133 /usr/bin/docker.io run -d -i -t -p 9901:443 --name sso_server arvados/sso
136 /usr/bin/docker.io run -d -i -t -p 9900:443 --name api_server --link sso_server:sso arvados/api
139 /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
142 /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
145 /usr/bin/docker.io run -d -i -t -p 9898:80 --name doc_server arvados/doc
147 *****************************************************************
148 You can access the Arvados documentation at http://localhost:9898
149 *****************************************************************
153 /usr/bin/docker.io run -d -i -t -p 9899:80 --name workbench_server --link api_server:api arvados/workbench
155 *****************************************************************
156 You can access the Arvados workbench at http://localhost:9899
157 *****************************************************************
158 </code></pre></notextile>
160 h2. Accessing workbench
162 Point your browser to the Dockerized workbench:
165 <pre><code><span class="userinput">https://localhost:9899</span>
169 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.