From 749fbae08c7c4cde3a2430d975882775d9967e32 Mon Sep 17 00:00:00 2001 From: Bruno Tavares Date: Thu, 20 Feb 2014 12:49:57 -0300 Subject: [PATCH] Docker utilities to try out recipes and the commands --- README.md | 14 ++++++++++++++ lib/kickstart-docker-create | 26 ++++++++++++++++++++++++++ lib/kickstart-docker-ssh | 7 +++++++ 3 files changed, 47 insertions(+) create mode 100755 lib/kickstart-docker-create create mode 100755 lib/kickstart-docker-ssh diff --git a/README.md b/README.md index 9467308..d868dd1 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,20 @@ Creates a sample project structure kickstart create [folder name or current folder] ``` +#### docker-create +Creates a docker container with a running sshd to test recipes + +```bash +kickstart docker-create +``` + +#### docker-ssh +Access the created docker container over ssh. A simple utility that looks up for the port the docker is bound. + +```bash +kickstart docker-ssh +``` + ### Thanks This project was inspired on [sunzi](https://github.com/kenn/sunzi) diff --git a/lib/kickstart-docker-create b/lib/kickstart-docker-create new file mode 100755 index 0000000..445e120 --- /dev/null +++ b/lib/kickstart-docker-create @@ -0,0 +1,26 @@ +#!/bin/bash -e + +pull_sshd_image() { + docker pull moul/sshd +} + +remove_running_sshd() { + runnig_sshd=$(docker ps -q moul/sshd) + [ "$runnig_sshd" ] && docker kill "$runnig_sshd" && docker rm "$runnig_sshd" + true +} + +run_sshd() { + id=$(docker run -p 22 -d moul/sshd) + + [ -z "$id" ] && echo "Docker container did't start" && return 1 + + echo "Connect using root:root on " `docker port $id 22` + port=`docker port $id 22 | cut -f 2 -d :` + echo For ssh: ssh -p $port root@localhost + echo For deploy: kickstart deploy \"-p $port root@localhost\" '[roles]' +} + +pull_sshd_image +remove_running_sshd +run_sshd diff --git a/lib/kickstart-docker-ssh b/lib/kickstart-docker-ssh new file mode 100755 index 0000000..4edc456 --- /dev/null +++ b/lib/kickstart-docker-ssh @@ -0,0 +1,7 @@ +#!/bin/bash -e + +runnig_sshd=$(docker ps -q moul/sshd) +[ -z "$runnig_sshd" ] && echo "Docker container not created. Run \`kickstart docker-create\` to get one" && exit 1 + +port=`docker port $runnig_sshd 22 | cut -f 2 -d :` +exec ssh -p $port root@localhost