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 containers on a single machine.
http://doc.arvados.org/install/install-docker.html shows how to install and update a development system.
Additional sources of information¶
The docker/README.md file in the source distribution has more notes.
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.
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
- The arvados-cli gem:
gem install arvados-cli sudo pip install --upgrade httplib2
Debugging containers¶
Once it's running, you can get run a shell inside a container using nsenter.
Install nsenter:
docker run --rm jpetazzo/nsenter cat /nsenter > /tmp/nsenter sudo install -m 0755 /tmp/nsenter /usr/local/bin/
Install this shortcut:
sudo tee /usr/local/bin/nse <<'EOF'
#!/bin/sh
PID=$(docker inspect --format {{.State.Pid}} "$*")
exec nsenter --target $PID --mount --uts --ipc --net --pid
EOF
chmod +x /usr/local/bin/nse
Then you can run a shell in a container like this:
nse keep_server_0
Console¶
./arvdock starts containers in detached mode. You can attach your terminal to them in order to see stdout/stderr:
docker attach --sig-proxy=false keep_server_0
Press control-C to detach. (If you didn't use --sig-proxy=false, control-C will send SIGINT into the container.)
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 (using your host instead of a shell VM) to upload data into Arvados and run Crunch jobs in local development mode.
Updated by Tom Clegg over 11 years ago · 14 revisions