X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/190d0f110dab5d51dcfa7b13ff658583fdd21a5d..58e91ef73e6802978dfea0f93072d75be8ee221c:/doc/install/install-docker.html.textile.liquid
diff --git a/doc/install/install-docker.html.textile.liquid b/doc/install/install-docker.html.textile.liquid
index 31342e5ee7..374428919d 100644
--- a/doc/install/install-docker.html.textile.liquid
+++ b/doc/install/install-docker.html.textile.liquid
@@ -1,18 +1,17 @@
---
layout: default
navsection: installguide
-title: Installing with Docker
+title: Build and install Docker images
...
-h2. Purpose
-
-This installation method is appropriate for local testing, evaluation, and
-development. For production use, this method is not recommended.
+This method is intended for evaluation and development on a local workstation. It is not suitable for production use in a cluster deployment.
h2. Prerequisites
# A GNU/Linux (virtual) machine
# A working Docker installation (see "Installing Docker":https://docs.docker.com/installation/)
+# A working Go installation (see "Install the Go tools":https://golang.org/doc/install)
+# A working Ruby installation (see "Install Ruby and bundler":install-manual-prerequisites-ruby.html)
h2. Download the source tree
@@ -25,29 +24,22 @@ See also: "Downloading the source code":https://arvados.org/projects/arvados/wik
h2. Building the Arvados Docker containers
-First of all, a suitable @config.yml@ file is needed.
-
-~$ cd arvados/docker
-~$ cp config.yml.example config.yml
-
-PUBLIC_KEY_PATH -ARVADOS_USER_NAME -API_HOSTNAME -API_AUTO_ADMIN_USER -+First of all, a suitable @config.yml@ file is needed. The easiest way to generate one based on the provided @config.yml.example@ file is to run the @build.sh@ script. If no @config.yml@ file exists, it will will prompt for a few inputs, write the @config.yml@ file, and then proceed to build all the Docker containers. If @config.yml@ exists, invoking @build.sh@ will simply build all Docker containers or update those that need to be updated. -Then build the docker containers (this will take a while): +Run @build.sh@ without arguments to generate @config.yml@ and build all Docker containers (this will take a while!):
~$ ./build.sh
+Generating config.yml.
+Arvados needs to know the email address of the administrative user,
+so that when that user logs in they are automatically made an admin.
+This should be an email address associated with a Google account.
+
+Enter your Google ID email address here:
+
...
+
Step 7 : ADD generated/setup.sh /usr/local/bin/setup.sh
---> d7c0e7fdf7ab
Removing intermediate container f3d81180795d
@@ -59,7 +51,7 @@ Successfully built d6cbb5002604
date >shell-image
~$ docker.io images
@@ -67,6 +59,7 @@ REPOSITORY TAG IMAGE ID CREATED
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/keepproxy latest b39ef0baba02 12 minutes ago 241.6 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
@@ -84,22 +77,40 @@ crosbymichael/skydns latest 1923ce648d4c 5 months ago
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:
+@build.sh@ takes a few optional arguments:
+
+
+
+~$ ./build.sh --help
+
+usage: ./build.sh [options]
+
+Calling ./build.sh without arguments will build all Arvados docker images
+
+./build.sh options:
+ -h, --help Print this help text
+ clean Clear all build information
+ realclean clean and remove all Arvados Docker images except arvados/debian
+ deepclean realclean and remove arvados/debian, crosbymichael/skydns and
+ crosbymichael/skydns Docker images
+
+
+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:
-~$ ./build.sh --clean
+~$ ./build.sh clean
-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.
+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.
-~$ ./build.sh --realclean
+~$ ./build.sh realclean
-Finally, the '--deepclean' option does what '--realclean' does, and also removes the arvados/debian image.
+Finally, the 'deepclean' option does what 'realclean' does, and also removes the arvados/debian, crosbymichael/skydns and crosbymichael/skydock images.
-~$ ./build.sh --deepclean
+~$ ./build.sh deepclean
h2. Running the Arvados Docker containers
@@ -110,7 +121,13 @@ The @arvdock@ command can be used to start and stop the docker containers. It ha
~$ ./arvdock -h
-usage: ./arvdock (start|stop|restart|test) [options]
+usage: ./arvdock (start|stop|restart|reset|test) [options]
+
+start run new or restart stopped arvados containers
+stop stop arvados containers
+restart stop and then start arvados containers
+reset stop and delete containers WARNING: this will delete the data inside Arvados!
+test run tests
./arvdock start/stop/restart options:
-d[port], --doc[=port] Documentation server (default port 9898)
@@ -121,7 +138,7 @@ usage: ./arvdock (start|stop|restart|test) [options]
-v, --vm Shell server
-n, --nameserver Nameserver
-k, --keep Keep servers
- --ssh Enable SSH access to server containers
+ -p, --keepproxy Keepproxy server
-h, --help Display this help and exit
If no options are given, the action is applied to all servers.
@@ -132,40 +149,78 @@ usage: ./arvdock (start|stop|restart|test) [options]
+~$ docker exec -t -i api_server /bin/bash
+
~$ ./arvdock start
-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
+start_api=false
+start_compute=false
+start_doc=false
+start_keep=false
+start_keepproxy=false
+start_nameserver=false
+start_sso=false
+start_vm=false
+start_workbench=false
+Starting crosbymichael/skydns container...
+skydns
+/usr/bin/docker.io run -d -p 172.17.42.1:53:53/udp --name skydns crosbymichael/skydns -nameserver 8.8.8.8:53 -domain arvados
+89922ec786cbd2098ed6bae205468a675657cdb2db0e0bfdfe76d1e43cb2fe35
+Starting crosbymichael/skydock container...
+skydock
+/usr/bin/docker.io run -d -v /var/run/docker.sock:/docker.sock --name skydock crosbymichael/skydock -ttl 30 -environment dev -s /docker.sock -domain arvados -name skydns
+de6a35bb20fb9063fb97218ba2554974546eed969d43b1f5aa31a1ac9576e802
+Starting container: api_server
+ /usr/bin/docker.io start api_server
+Started container: api_server
+Starting container: compute0
+ /usr/bin/docker.io start compute0
+Started container: compute0
+Starting container: compute1
+ /usr/bin/docker.io start compute1
+Started container: compute1
+Starting container: keep_server_0
+ /usr/bin/docker.io start keep_server_0
+Started container: keep_server_0
+Starting container: keep_server_1
+ /usr/bin/docker.io start keep_server_1
+Started container: keep_server_1
+Starting container: keepproxy_server
+ /usr/bin/docker.io start keepproxy_server
+Started container: keepproxy_server
+Starting container: doc_server
+ /usr/bin/docker.io start doc_server
+Started container: doc_server
+
+******************************************************************
+You can access the Arvados documentation at http://doc.dev.arvados
+******************************************************************
+
+Starting container: shell
+ /usr/bin/docker.io start shell
+Started container: shell
+Starting container: workbench_server
+ /usr/bin/docker.io start workbench_server
+Started container: workbench_server
+
+********************************************************************
+You can access the Arvados workbench at http://workbench.dev.arvados
+********************************************************************
*****************************************************************
-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
+To access Arvados you must add the Arvados nameserver to the top
+of your DNS configuration in /etc/resolv.conf:
+nameserver 172.17.42.1
+******************************************************************
-*****************************************************************
-You can access the Arvados workbench at http://localhost:9899
-*****************************************************************
https://localhost:9899
+http://workbench.dev.arvados