Development and testing with Docker » History » Revision 13
Revision 12 (Tom Clegg, 07/31/2014 03:02 PM) → Revision 13/14 (Tom Clegg, 07/31/2014 04:12 PM)
h1. Development and testing with Docker
Arvados is primarily intended as a system to be run on large server clusters. For development and testing purposes, we have provided a process to build and deploy the Arvados system in "Docker":https://www.docker.io/ containers on a single machine.
http://doc.arvados.org/install/install-docker.html shows how to install and update a development system.
h2. Additional sources of information
The "docker/README.md":https://github.com/curoverse/arvados/blob/master/docker/README.md file in the source distribution has more notes.
h2. Installing the client libraries
@./install_sdk.sh@ (in the docker directory) will install the CLI tools like arv and arv-put. If that does not work for you, try installing these by hand:
* *RVM* -- if you do not already have RVM installed on your workstation, install it now.
<pre>
sudo apt-get install curl libcurl3 libcurl3-gnutls libcurl4-openssl-dev python-pip
curl -sSL https://get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm
rvm install 2.1.0
</pre>
* The arvados-cli gem:
<pre>
gem install arvados-cli
sudo pip install --upgrade httplib2
</pre>
h2. Debugging containers
Once it's running, you can get into a container using nsenter.
Install nsenter:
<pre>
docker run --rm jpetazzo/nsenter cat /nsenter > /tmp/nsenter
sudo install -m 0755 /tmp/nsenter /usr/local/bin/
</pre>
Use it to run a shell in your keep_server_0 container:
<pre>
PID=$(docker inspect --format {{.State.Pid}} keep_server_0)
sudo nsenter --target $PID --mount --uts --ipc --net --pid
</pre>
h2. Tutorials
Once you have installed the servers and started them with @arvdock start@, and installed the client libraries, you should be able to work through the "user tutorials":http://doc.arvados.org/user/ (using your host instead of a shell VM) to upload data into Arvados and run Crunch jobs in local development mode.