Skip to content

Instantly share code, notes, and snippets.

@paulczar
Created December 20, 2013 23:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save paulczar/db83487376fcbc9b75de to your computer and use it in GitHub Desktop.
Save paulczar/db83487376fcbc9b75de to your computer and use it in GitHub Desktop.

Example Language Pack for Docker + Python

prepare working environment

$ git clone https://github.com/rackerlabs/vagrant-solum-dev.git
$ cd vagrant-solum-dev
$ DOCKER=true vagrant up devstack
$ vagrant ssh devstack

Build Language Pack

$ docker build -t lp-python github.com/paulczar/docker-lp-python.git

Build DU

$ URL=http://github.com/shykes/helloflask/archive/master.tar.gz
$ BUILD_JOB=$(docker run -d -t lp-python:latest \ 
  /usr/local/bin/buildapp $URL)
$ docker logs $BUILD_JOB
# wait until docker ps -a | grep $BUILD_JOB
$ docker commit -run='{"Cmd": ["/usr/local/bin/openstack-agent"], "PortSpecs": ["5000"]}' $BUILD_JOB 10.0.2.15:5042/pyapp1
$ docker push 10.0.2.15:5042/pyapp1

Write out UserData

$ tee /tmp/userdata.txt <<EOF
#cloud-config
runcmd:
 - [ sh, -xc, "/usr/local/bin/runapp" ]
EOF

Launch the App

$ nova boot --image pyapp1:latest --flavor 1 --user-data /tmp/userdata.txt pyapp
$ nova list | grep pyapp
| b3adbcc8-2d76-4fd7-89ae-bb60abdc3131 | pyapp  | ACTIVE  | None       | Running     | private=192.168.78.23 |
$ curl http://192.168.78.23:5000
Hello world!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment