• This repository has been archived on 21/Aug/2020
  • Stars
    star
    219
  • Rank 180,668 (Top 4 %)
  • Language
    Shell
  • License
    MIT License
  • Created about 10 years ago
  • Updated about 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Bootstrap databases, MOMs and other tools that you need for development purposes

dock

Join the chat at https://gitter.im/bripkens/dock

dock is a shell script to help you easily bootstrap databases and other tools that you need for development purposes. Instead of installing something like MongoDB or Redis natively on your machine, you can run it in a Docker container with just a single command dock mongodb. The main purpose of dock is to make the interaction with Docker dead simple for quick prototypes and hackathons.

Typical usage

$ dock redis jenkins mongodb rabbitmq

Starting redis (using /Users/ben/.dock-formulas/formulas/redis)
Container started
Name:           redis
IP:             192.168.59.103
Ports:          6379

Starting jenkins (using /Users/ben/.dock-formulas/formulas/jenkins)
Container started
Name:           jenkins
IP:             192.168.59.103
Ports:          8472

Starting mongodb (using /Users/ben/.dock-formulas/formulas/mongodb)
Container started
Name:           mongodb
IP:             192.168.59.103
Ports:          27017

Starting rabbitmq (using /Users/ben/.dock-formulas/formulas/rabbitmq)
Container started
Name:           rabbitmq
IP:             192.168.59.103
Ports:          5672 15672
Admin user:     admin
Admin pw:       A3y6crBkMk8k

For additional usage instructions, run dock without arguments.

Installation

First make sure that you have Docker running on your machine. Then continue with the installation of dock:

As of the time of writing the Homebrew Docker installer is broken. boot2docker is currently the easiest way to get a working Docker environment on OS X.

dock versions >= 1.0.0 are compatible with boot2docker 1.3 and beyond. Please use v0.6.3 when you are using an old boot2docker version or upgrade your boot2docker installation.

Installation on OS X using Homebrew

brew tap bripkens/dock
brew install dock

Upgrade on OS X using Homebrew

brew update
brew upgrade dock

Installation on other platforms

Just download dock and put it somewhere on your $PATH. Then:

chmod +x /path/to/dock   # Make dock executable
dock -u                  # Initialise dock

You can automate this with the following one-liner (assuming ~/bin is on your $PATH).

curl https://raw.githubusercontent.com/bripkens/dock/master/dock -so ~/bin/dock && \
     chmod +x ~/bin/dock && \
     dock -u && \
     echo "dock installation successful. Try running 'dock'"

Command completion

To add command completion for fish hell, copy the dock.fish file to ~/.config/fish/completions.

Supported programs

For a list of supported programs run dock -l or check out this repository's formulas/ directory. Feel free to send a pull request for any awesome Docker containers that are still missing!

Private formulas

Dock will look for custom formulas in a .dock-formulas directory relative to your current working directory. So if you need a formula for a custom docker image that you don't want to make public through docker hub, you can put your formulas there.

Contributing formulas

I will gladly accept your formulas. The following points describe the basic process of adding a new formula.

  • Fork this repository
  • git clone <your fork>
  • Add a new file to the formulas/ directory
  • Check out existing formulas for the basic formula structure
  • Try the new formula locally bash formulas/<my new formula>
  • Commit, push and open a pull request

Credits

dock was written by Ben Ripkens (@BenRipkens).

Structure and readme are heavily inspired by Simon Whitaker's gibo.

More Repositories

1

connect-history-api-fallback

Fallback to index.html for applications that are using the HTML 5 history API
JavaScript
1,822
star
2

lucene

Node.js lib to transform: lucene query β†’ syntax tree β†’ lucene query
JavaScript
72
star
3

fuzzy.js

approximate (fuzzy) string matching in JavaScript
JavaScript
57
star
4

proxrox

Proxy services, combine origins, use SSI and more during development
TypeScript
44
star
5

event-loop-stats

Exposes stats about the libuv default loop
C++
32
star
6

svg-export

Export SVG to JPEG, PNG, PDF and SVG
Java
28
star
7

formalistic

Model forms as an immutable data tree with validators and an explicit dirty/pristine state
JavaScript
18
star
8

admin

Drop-in Node.js admin endpoint to help you analyze production issues.
JavaScript
17
star
9

java-with-javascript

JavaScript
15
star
10

mix.js

Mixins with dependency resolution and private properties (without closures)
JavaScript
13
star
11

relato

Open Source Project Statistics
JavaScript
11
star
12

movie-database-spa

SPA example
JavaScript
7
star
13

Gravatar4Java

A small library for the generation of Gravatar URLs
Java
6
star
14

commonjs-karma-saucelabs-example

minimal working example of CommonJS modules that are tested on SauceLabs
JavaScript
6
star
15

project-sidebar

Atom editor sidebar plugin that can be used to open project directories
JavaScript
5
star
16

ec2c.js

Search and connect to EC2 instances via SSH - the easy way.
JavaScript
5
star
17

rxstore

RxJS based stores for highly reactive UIs
JavaScript
3
star
18

health-check-adapter

Connect health check endpoints to Slack
Scala
3
star
19

get-logger

Node.js logging facade to decouple frameworks, libraries and application code from specific logging implementations
JavaScript
3
star
20

json-schema-validation-example

Source code for a blog post about JSON Schema and validation
Clojure
3
star
21

json-template-generator

Use JSON schema to generate compliant input templates
JavaScript
2
star
22

web-based-elgato-control-panel

Web hosted control panel for the Elgato lighting products that does not rely on mDNS
HTML
2
star
23

homebrew-dock

Ruby
1
star
24

load-balancing-example

A load balancing example with Nginx, HAProxy and Node.js
Shell
1
star
25

janus

Groovy
1
star
26

static-i18n

Statically typed i18n support for Java
Java
1
star
27

aws-vault-prompt

A zsh prompt for 99designs/aws-vault to understand what the active AWS session is and when it expires
Go
1
star
28

Print-Google-Code-Wiki

This project facilitates printing of Google Code wiki pages
1
star
29

java-quickstart

Alternative to maven-archetype-quickstart
Java
1
star
30

prismatic-mobile

A very simple mobile (web app) version of Prismatic.
JavaScript
1
star
31

Example-ODR-web-service-client

Java
1
star
32

ionic-overview-slides

Slides for a presentation about the Ionic framework
JavaScript
1
star
33

janus-plugin

A Janus plugin for Jenkins
Java
1
star
34

pi-setup

Ansible based Raspberry PI setup
Shell
1
star
35

FND1-session2

Sources of the second algorithms and data structures session
Java
1
star
36

nashorn-pw-check-example

Example code for an upcoming blog post about Nashorn
Java
1
star
37

signal-forwarding

docker, zombie, exec, shell, signals
Shell
1
star
38

Open-Pattern-Repository

Open source pattern catalogue. Python / Django version of the Open Pattern Repository which is hosted on Google code.
JavaScript
1
star
39

dotfiles

Shell
1
star
40

spa-presentation

Sources for a presentation given at Fontys University of Applied Sciences Venlo
JavaScript
1
star