]> git.immae.eu Git - github/fretlink/docker-ansible.git/blobdiff - README.md
Add: support for Alpine 3
[github/fretlink/docker-ansible.git] / README.md
index 62d511944b8a1277e499f94c8033cfc32cc1569c..26f03d423f7bdfbb1f7fae6ee4cba5e3d481087e 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
 Docker-Ansible base images
 ===================
 
-[![Build Status](https://travis-ci.org/William-Yeh/docker-ansible.svg?branch=master)](https://travis-ci.org/William-Yeh/docker-ansible)
+[![Circle CI](https://circleci.com/gh/William-Yeh/docker-ansible.svg?style=shield)](https://circleci.com/gh/William-Yeh/docker-ansible) [![Build Status](https://travis-ci.org/William-Yeh/docker-ansible.svg?branch=master)](https://travis-ci.org/William-Yeh/docker-ansible)
 
 
 ## Summary
@@ -16,14 +16,14 @@ This repository contains Dockerized [Ansible](https://github.com/ansible/ansible
 
 These are Docker images for [Ansible](https://github.com/ansible/ansible) software, installed in a selected Linux distributions.
 
-- OS: Debian (jessie, wheezy), Ubuntu (trusty, precise), CentOS (7, 6)
+- OS: Debian (jessie, wheezy), Ubuntu (trusty, precise), CentOS (7, 6), Alpine (3).
 
-- Ansible: usually the latest version.
+- Ansible: usually the latest version (I didn't pin any specific version).
 
 
 ## Images and tags
 
-- normal series:
+- Normal series:
 
   - `williamyeh/ansible:debian8`
   - `williamyeh/ansible:debian7`
@@ -31,8 +31,9 @@ These are Docker images for [Ansible](https://github.com/ansible/ansible) softwa
   - `williamyeh/ansible:ubuntu12.04`
   - `williamyeh/ansible:centos7`
   - `williamyeh/ansible:centos6`
+  - `williamyeh/ansible:alpine3`
 
-- onbuild series:
+- Onbuild series:
 
   - `williamyeh/ansible:debian8-onbuild`
   - `williamyeh/ansible:debian7-onbuild`
@@ -40,6 +41,40 @@ These are Docker images for [Ansible](https://github.com/ansible/ansible) softwa
   - `williamyeh/ansible:ubuntu12.04-onbuild`
   - `williamyeh/ansible:centos7-onbuild`
   - `williamyeh/ansible:centos6-onbuild`
+  - `williamyeh/ansible:alpine3-onbuild`
+
+
+## For the impatient
+
+Here comes a simplest working example for the impatient.
+
+First, choose a base image you'd like to begin with. For example, `williamyeh/ansible:ubuntu14.04-onbuild`.
+
+Second, put the following `Dockerfile` along with your playbook directory:
+
+```
+FROM williamyeh/ansible:ubuntu14.04-onbuild
+
+# ==> Specify requirements filename;  default = "requirements.yml"
+#ENV REQUIREMENTS  requirements.yml
+
+# ==> Specify playbook filename;      default = "playbook.yml"
+#ENV PLAYBOOK      playbook.yml
+
+# ==> Specify inventory filename;     default = "/etc/ansible/hosts"
+#ENV INVENTORY     inventory.ini
+
+# ==> Executing Ansible...
+RUN ansible-playbook-wrapper
+```
+
+Third, `docker build .`
+
+Done!
+
+For more advanced usage, the role in Ansible Galaxy [`williamyeh/nginx`](https://galaxy.ansible.com/list#/roles/2245) demonstrates how to perform a simple smoke test (*configuration needs test, too!*) on a variety of (*containerized*) Linux distributions via [CircleCI](https://circleci.com/)'s Ubuntu 12.04 and [Travis CI](https://travis-ci.org/)’s Ubuntu 14.04 worker instances.
+
+
 
 
 ## Why yet another Ansible image for Docker?
@@ -54,12 +89,31 @@ In the beginning I used the [`ansible/ansible-docker-base`](https://github.com/a
 
 Therefore, I built these Docker images on my own.
 
+**NOTE:** [`ansible/ansible-docker-base`](https://github.com/ansible/ansible-docker-base) announced in September 2015: “Ansible no longer maintains images in Dockerhub directly.”
+
+### Comparison: image size
+
+```
+REPOSITORY                    TAG                   VIRTUAL SIZE
+---------------------------   -------------------   ------------
+ansible/centos7-ansible       stable                367.5 MB
+ansible/ubuntu14.04-ansible   stable                286.6 MB
+
+williamyeh/ansible            alpine3-onbuild        66.4 MB
+williamyeh/ansible            centos6-onbuild       264.2 MB
+williamyeh/ansible            centos7-onbuild       275.3 MB
+williamyeh/ansible            debian7-onbuild       134.4 MB
+williamyeh/ansible            debian8-onbuild       178.3 MB
+williamyeh/ansible            ubuntu12.04-onbuild   181.9 MB
+williamyeh/ansible            ubuntu14.04-onbuild   238.3 MB
+```
+
 
 ## Usage
 
-Used mostly as a *base image* for configuring, with Ansible, other software stack on some specified Linux distribution.
+Used mostly as a *base image* for configuring other software stack on some specified Linux distribution(s).
 
-Take Debian/Ubuntu for example. To test an Ansible `playbook.yml` against a variety of Linux distributions, we may use [Vagrant](https://www.vagrantup.com/) as follows:
+Take Debian/Ubuntu/CentOS for example. To test an Ansible `playbook.yml` against a variety of Linux distributions, we may use [Vagrant](https://www.vagrantup.com/) as follows:
 
 ```ruby
 # Vagrantfile
@@ -68,10 +122,12 @@ Vagrant.configure(2) do |config|
 
     # ==> Choose a Vagrant box to emulate Linux distribution...
     config.vm.box = "ubuntu/trusty64"
-    #config.vm.box = "hashicorp/precise64"
-    #config.vm.box = "chef/debian-7.8"
-    #config.vm.box = "chef/centos-7.0"
-    #config.vm.box = "chef/centos-6.6"
+    #config.vm.box = "ubuntu/precise64"
+    #config.vm.box = "debian/jessie64"
+    #config.vm.box = "debian/wheezy64"
+    #config.vm.box = "bento/centos-7.1"
+    #config.vm.box = "bento/centos-6.7"
+    #config.vm.box = "maier/alpine-3.1.3-x86_64"
 
 
     # ==> Executing Ansible...
@@ -98,6 +154,7 @@ FROM williamyeh/ansible:ubuntu14.04
 #FROM williamyeh/ansible:debian7
 #FROM williamyeh/ansible:centos7
 #FROM williamyeh/ansible:centos6
+#FROM williamyeh/ansible:alpine3
 
 
 # ==> Copying Ansible playbook...
@@ -124,13 +181,17 @@ FROM williamyeh/ansible:ubuntu14.04-onbuild
 #FROM williamyeh/ansible:debian7-onbuild
 #FROM williamyeh/ansible:centos7-onbuild
 #FROM williamyeh/ansible:centos6-onbuild
+#FROM williamyeh/ansible:alpine3-onbuild
+
 
+# ==> Specify requirements filename;  default = "requirements.yml"
+#ENV REQUIREMENTS  requirements.yml
 
-# ==> Specify playbook filename;   default = "playbook.yml"
-#ENV PLAYBOOK   playbook.yml
+# ==> Specify playbook filename;      default = "playbook.yml"
+#ENV PLAYBOOK      playbook.yml
 
-# ==> Specify inventory filename;  default = "/etc/ansible/hosts"
-#ENV INVENTORY  inventory.ini
+# ==> Specify inventory filename;     default = "/etc/ansible/hosts"
+#ENV INVENTORY     inventory.ini
 
 # ==> Executing Ansible...
 RUN ansible-playbook-wrapper