/dops

Docker, Docker Machine, Docker Compose, Terraform and Ansible in Docker

Primary LanguageShell

dops

Docker Pulls

A Docker image with ops tools:

Based on krkr/docker-toolbox.

      _
   __| | ___  _ __  ___
  / _` |/ _ \| |_ \/ __|
 || < (#) < |_) \__ \
  \__,_|\___/| .__/|___/
             |_|

Which versions?

{"bash":"4.3.48"}
{"curl":"7.55.0"}
{"jq":"1.5"}
{"docker":"17.07.0"}
{"docker-machine":"0.12.2"}
{"docker-compose":"1.16.1"}
{"ansible":"2.3.2.0"}
{"terraform":"0.10.3"}

Using dops

zsh in dops

> docker run --rm -ti \
  -v $(pwd):/ops \
  -e CLUSTER=c1.bim \
  krkr/dops

/ops  [cluster:c1.bim] [node:n1.c1.bim] root@io
> ...

Create a VM on OVH Cloud

Get your OpenStack creds.

> cat machine/env/os-creds.secrets.env
OS_AUTH_URL=https://auth.cloud.ovh.net/v2.0
OS_TENANT_ID=?
OS_TENANT_NAME=?
OS_USERNAME=?
OS_PASSWORD=?
OS_REGION_NAME=BHS1

Create a VM using docker-machine and the OVH driver.

  > docker run --rm -ti \
    -v $(pwd):/ops \
    -e CLUSTER=c1.bim
    krkr/dops \
      docker-machine create -d ovh n1.c1.bim

Or create your infra with Terraform

Write Terraform config files (example: create a Swarm cluster).

> docker run --rm -ti \
  krkr/dops \
    terraform apply

And/or run Ansible

Write inventory and playbooks (example to install docker-machine on nodes managed by Terraform).

> docker run --rm -ti \
  krkr/dops \
    ansible-playbook ansible/all.yml -t docker

License

MIT