X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/deda3178b48dc56ea08551e9d8de7d14478cd9cd..e5f039f2e451790ff3838c5810a22a0749d18f6d:/docker/README.md diff --git a/docker/README.md b/docker/README.md index 48b255f9ed..9c03e1b825 100644 --- a/docker/README.md +++ b/docker/README.md @@ -6,57 +6,76 @@ containers, so that they can be run easily in different environments (a dedicated server, a developer's laptop, a virtual machine, etc). -This is a work in progress; instructions will almost certainly be -incomplete and possibly out of date. - Prerequisites ------------- * Docker - Docker is a Linux container management system based on LXC. It is a - very young system but is being developed rapidly. - [Installation packages](http://www.docker.io/gettingstarted/#h_installation) + Docker is a Linux container management system. It is a very young system but + is being developed rapidly. + [Installation packages](http://www.docker.io/gettingstarted/) are available for several platforms. - -* Ruby (any version) + + If a prebuilt docker package is not available for your platform, the + short instructions for installing it are: + + 1. Create a `docker` group and add yourself to it. + +
+     $ sudo addgroup docker
+     $ sudo adduser `whoami` docker
+     
+ + Log out and back in. + + 2. Add a `cgroup` filesystem and mount it: + +
+     $ mkdir -p /cgroup
+     $ grep cgroup /etc/fstab
+     none   /cgroup    cgroup    defaults    0    0
+     $ sudo mount /cgroup
+	 
+ + 3. [Download and run a docker binary from docker.io.](http://docs.docker.io/en/latest/installation/binaries/) + +* Ruby (version 1.9.3 or greater) * sudo privileges to run `debootstrap` Building -------- -1. Copy `config.yml.example` to `config.yml` and edit it with settings - for your installation. -2. Run `make` to build the following Docker images: +Type `./build.sh` to configure and build the following Docker images: * arvados/api - the Arvados API server + * arvados/compute - Arvados compute node image * arvados/doc - Arvados documentation - * arvados/warehouse - Keep, the Arvados content-addressable filesystem - * arvados/workbench - the Arvados console + * arvados/keep - Keep, the Arvados content-addressable filesystem + * arvados/keepproxy - Keep proxy + * arvados/shell - Arvados shell node image * arvados/sso - the Arvados single-signon authentication server + * arvados/workbench - the Arvados console - You may also build Docker images for individual Arvados services: - - $ make api-image - $ make doc-image - $ make warehouse-image - $ make workbench-image - $ make sso-image +`build.sh` will generate reasonable defaults for all configuration +settings. If you want more control over the way Arvados is +configured, first copy `config.yml.example` to `config.yml` and edit +it with appropriate configuration settings, and then run `./build.sh`. -Deploying ---------- +Running +------- -1. Make sure the `ARVADOS_DNS_SERVER` has been provisioned with the - following DNS entries, resolving to the appropriate IP addresses - where each service will be deployed. +The `arvdock` script in this directory is used to start, stop and +restart Arvados servers on your machine. The simplest and easiest way +to use it is `./arvdock start` to start the full complement of Arvados +servers, and `./arvdock stop` and `./arvdock restart` to stop and +restart all servers, respectively. - * $API_HOSTNAME - * keep0.$API_HOSTNAME - * compute0.$API_HOSTNAME - * controller.$API_HOSTNAME - * workbench.$API_HOSTNAME +Developers who are working on individual servers can start, stop or +restart just those containers, e.g.: -2. The `run.sh` script in this directory will start all Arvados - servers on your machine. +* `./arvdock start --api --sso` to start just the API and SSO services. +* `./arvdock stop --keep` to stop just the Keep services. +* `./arvdock restart --workbench=8000` restarts just the Workbench service on port 8000. +For a full set of arguments, use `./arvdock --help`.