Public | Automated Build

Last pushed: 7 months ago
Short Description
swift development environment
Full Description

Getting started with ualbertalib/swift_dev docker image

This image that implements Swift - highly available, distributed, consistent object store.
This image was created for development purposes to quickly instantiate running instance of swift object store.


  1. Install Docker

Getting swift_dev image

You need to download ualbertalib/swift_dev docker image from docker hub

docker pull ualbertalib/swift_dev

Alternatively you can build swift image locally

  1. Clone current project:
    git clone
  2. Go to the directory where you cloned the project
    docker build . -t ualbertalib/swift_dev


University of Alberta maintains a Docker Hub repository at
Docker image is registered with Docker Hub: ualbertalib/swift_dev

Using swift_dev image

Create directory where all swift node files will be stored.

mkdir ~/.swift

Set environment variable to point to that directory

export LOCAL_SWIFT_STORAGE=~/.swift

Run provided shell script


Point your browser

You should get information in json format about your docker running instance of swift

To shut t down, discover the container name (the last element) with:

docker ps

Then run

docker stop <container_name>

Swift python client

Install swift python client:

cd ~
git clone git clone
cd python-swiftclient
sudo python develop; cd -

Source provided rc file (in DIDockerImages/Swift)
. ./swiftrc

Now you can create container
swd post newCont

Upload file to the container
swd upload newCont myfile

List containers
swd list

List files in a container
swd list newCont

Display information about object

swd stat newCont myfile

This always works:
$swd --help
to get more info

Using curl to access swift

You can also use curl to access swift

curl -v -H 'X-Storage-User: test:tester' -H 'X-Storage-Pass: testing'

will return authorization token you can use with all your future curl command to access swift

Summary of curl commands:
Create a new container

curl -X PUT -H 'X-Auth-Token: <token-from-above>'

$ist all containers in an account

curl -X GET -H 'X-Auth-Token: <token-from-above>'

List all the objects in a container

curl -X GET -H 'X-Auth-Token: <token-from-above>'

Lownload an object

curl -X GET -H 'X-Auth-Token: <token-from-above>'


Instructions here

Docker Pull Command
Source Repository