Skip to content

Instantly share code, notes, and snippets.

#!/bin/bash
# (C) Copyright Canonical 2011,2012
# What lxc container to clone
LXC_BASE=""
# $2 is a path to bind mount e.g. /tmp/foo.
LXC_BIND=""
LXC_DIR=""
UNION="overlayfs"
@apatil
apatil / iptables-failure.js
Last active December 25, 2015 07:19
On Ubuntu 12.04, with Docker version 0.6.3, build b0a49a3, this script will cause iptables failures to prevent launch of some docker containers
#!/usr/bin/env node
var shell = require("shelljs")
var n = 100;
var nPorts = 10;
var port = 40000;
var launchCmds = [];
for (var i = 0; i < n; i++) {
@apatil
apatil / test.sh
Created October 31, 2013 20:15
Reproduction of Docker issue
#!/bin/bash
# I ran this on an EC2 c1.medium instance with Docker version 0.6.3 on Ubuntu 12.04.
# I ran docker -d on tcp port 4243, and delivered 'stop' via the rest api
# because that's what I do in my production setup, but I don't know if that
# makes a difference.
# First, run ubuntu:12.04, and in it do
# echo -e '#!/bin/bash\nsleep 600' > cmd.sh
# chmod +x cmd.sh
# Then commit it and tag it as img-with-cmd
@apatil
apatil / user-data-test.yml
Last active August 29, 2015 13:58
user-data-test.yml
#cloud-config
coreos:
units:
- name: test.service
content: "[Unit]\nDescription=Test\n\n[Service]\nExecStart=/usr/bin/echo \"hi\"\nType=oneshot\n\n[Install]\nWantedBy=multi-user.target\n"
@apatil
apatil / gist:11001937
Created April 17, 2014 18:06
Fibrous pattern
f = (cb) =>
fibrous.run =>
a.sync()
b.sync()
, cb
@apatil
apatil / tests
Created May 12, 2014 20:03
CoreOS/Docker mount propagation tests
# Test 1:
# Launch data-only container in privileged mode
sudo docker run -i -t --name dataonly --privileged -v /shared ubuntu:14.04 /bin/bash
# in container:
mdir /shared/usr
mount --bind /usr /shared/usr
# Launch client container and attempt to read data from data-only container
sudo docker run -i -t --volumes-from dataonly ubuntu:14.04 /bin/bash
@apatil
apatil / shared-mounts-nodocker.sh
Last active February 2, 2017 11:52
Shared mounts
#!/usr/bin/env bash
ROOTDIR=$PWD
echo "Setting up"
mkdir -p $ROOTDIR/shared
sudo mount --bind $ROOTDIR/shared $ROOTDIR/shared
sudo mount --make-unbindable $ROOTDIR/shared
sudo mount --make-shared $ROOTDIR/shared
@apatil
apatil / test.sh
Last active August 29, 2015 14:04
How to get Docker to choose the ports using the remote API?
curl -v -H "Content-Type: application/json" -X POST \
-d '{"Cmd":["/bin/sleep","infinity"],"Image":"ubuntu:14.04", "ExposedPorts":{"22/tcp":{}}}' \
http://127.0.0.1:4243/containers/create?name=testcontainer
curl -v -H "Content-Type: application/json" -X POST \
-d '{"PortBindings": { "22/tcp": [{ "HostPort": "11022" }]} }' \
http://127.0.0.1:4243/containers/testcontainer/start
@apatil
apatil / git-crypt-diff
Created August 25, 2014 23:23
git-crypt-diff
#!/bin/bash
fname=$1
branch=$2
key=$3
if [ "$fname" = "-h" ]
then
echo "Usage: git-crypt-diff fname branch key"
exit 0
@apatil
apatil / gist:9cb3dde2dd8f3183ffa1
Created February 25, 2015 20:49
apidoc markup
@api {get} /engines Request Available Engines
@apiVersion 1.0.0
@apiName GetEngines
@apiGroup Engines
@apiDescription Gets a list of the currently available engines on Sense.
@apiError (404) user not found.
@apiSuccess (200) {Object[]} engines List of available engines.