]> git.immae.eu Git - github/fretlink/docker-ansible.git/blobdiff - README.md
debian9: use "slim" version of debian image
[github/fretlink/docker-ansible.git] / README.md
index 89a7c2494e39a80d05ecb6312cb49f4f44afb8aa..58627ac65bf929d4eec2e9acc8e4845b89b86b1c 100644 (file)
--- a/README.md
+++ b/README.md
@@ -6,9 +6,9 @@ Docker-Ansible base images
 
 ## Summary
 
-Repository name in Docker Hub: **[williamyeh/ansible](https://registry.hub.docker.com/u/williamyeh/ansible/)**
+Repository name in Docker Hub: **[williamyeh/ansible](https://hub.docker.com/r/williamyeh/ansible/)**
 
-This repository contains Dockerized [Ansible](https://github.com/ansible/ansible), published to the public [Docker Hub](https://registry.hub.docker.com/) via **automated build** mechanism.
+This repository contains Dockerized [Ansible](https://github.com/ansible/ansible), published to the public [Docker Hub](https://hub.docker.com/) via **automated build** mechanism.
 
 
 
@@ -16,80 +16,95 @@ 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), Alpine (3).
+### Base OS
 
-- Ansible: three version series -
+Debian (stretch, jessie), Ubuntu (xenial, trusty), CentOS (7), Alpine (3).
 
-  1. the most recent *stable* version;
-  2. old 1.9 version;
-  3. the *experimental* version.
+Supports for Wheezy, Precise, and CentOS6 have been ended since Sep 2017.
+
+### Ansible
+
+Four versions are provided:
+
+  1. provides the most recent *stable* version of Ansible; suitable for most people.
+  2. same as stable version, but is designed for building (near-)*minimal* images out of playbooks; i.e., the Ansible body will be removed when mission completed. Refer to “[Build Docker images with Ansible: A half-blood approach](https://github.com/William-Yeh/build-docker-with-ansible)” for working examples and slides.
+  3. provides the old 1.9 version of Ansible (but will be retired someday).
+  4. provides the *experimental* version of Ansible; i.e., the master branch of official [Ansible's git repo](https://github.com/ansible/ansible).
+
+Each version is further divided into two variants:
+
+- *Normal* variant: intended to be used as Ansible *control machines*, or in cases that is inadequate in the onbuild variants.
+- *Onbuild* variant: intended to be used to build Docker images.
 
 
 ## Images and tags
 
 ### Stable version (installed from official PyPI repo):
 
-- Normal series:
+- Normal variants:
 
+  - `williamyeh/ansible:debian9`
   - `williamyeh/ansible:debian8`
-  - `williamyeh/ansible:debian7`
+  - `williamyeh/ansible:ubuntu16.04`
   - `williamyeh/ansible:ubuntu14.04`
-  - `williamyeh/ansible:ubuntu12.04`
   - `williamyeh/ansible:centos7`
-  - `williamyeh/ansible:centos6`
   - `williamyeh/ansible:alpine3`
 
-- Onbuild series (*recommended for common cases*):
+- Onbuild variants (*recommended for common cases*):
 
+  - `williamyeh/ansible:debian9-onbuild`
   - `williamyeh/ansible:debian8-onbuild`
-  - `williamyeh/ansible:debian7-onbuild`
+  - `williamyeh/ansible:ubuntu16.04-onbuild`
   - `williamyeh/ansible:ubuntu14.04-onbuild`
-  - `williamyeh/ansible:ubuntu12.04-onbuild`
   - `williamyeh/ansible:centos7-onbuild`
-  - `williamyeh/ansible:centos6-onbuild`
   - `williamyeh/ansible:alpine3-onbuild`
 
-### Old 1.9 version:
 
-- Normal series:
+### Minimal configuration (the Ansible body will be removed when mission completed):
+
+Refer to “[Build Docker images with Ansible: A half-blood approach](https://github.com/William-Yeh/build-docker-with-ansible)” for working examples and slides.
+
+- Onbuild variants:
+
+  - `williamyeh/ansible:mini-alpine3`
+  - `williamyeh/ansible:mini-debian9`
+  - `williamyeh/ansible:mini-debian8`
+
+
+### Old 1.9 version (will be retired someday):
+
+Note: Ansible 1.9 was not supported in CentOS EPEL since January 2017, according to [this announcement](http://www.spinics.net/linux/fedora/epel-devel/msg00792.html).
+
+- Normal variants:
 
   - `williamyeh/ansible:1.9-debian8`
-  - `williamyeh/ansible:1.9-debian7`
   - `williamyeh/ansible:1.9-ubuntu14.04`
-  - `williamyeh/ansible:1.9-ubuntu12.04`
-  - `williamyeh/ansible:1.9-centos7`
-  - `williamyeh/ansible:1.9-centos6`
   - `williamyeh/ansible:1.9-alpine3`
 
-- Onbuild series (*recommended for common cases*):
+- Onbuild variants (*recommended for common cases*):
 
   - `williamyeh/ansible:1.9-debian8-onbuild`
-  - `williamyeh/ansible:1.9-debian7-onbuild`
   - `williamyeh/ansible:1.9-ubuntu14.04-onbuild`
-  - `williamyeh/ansible:1.9-ubuntu12.04-onbuild`
-  - `williamyeh/ansible:1.9-centos7-onbuild`
-  - `williamyeh/ansible:1.9-centos6-onbuild`
   - `williamyeh/ansible:1.9-alpine3-onbuild`
 
+
 ### Experimental version (building directly from the git `master` source tree; use at your own risk!):
 
-- Normal series:
+- Normal variants:
 
+  - `williamyeh/ansible:master-debian9`
   - `williamyeh/ansible:master-debian8`
-  - `williamyeh/ansible:master-debian7`
+  - `williamyeh/ansible:master-ubuntu16.04`
   - `williamyeh/ansible:master-ubuntu14.04`
-  - `williamyeh/ansible:master-ubuntu12.04`
   - `williamyeh/ansible:master-centos7`
-  - `williamyeh/ansible:master-centos6`
 
-- Onbuild series (*recommended for common cases*):
+- Onbuild variants (*recommended for common cases*):
 
+  - `williamyeh/ansible:master-debian9-onbuild`
   - `williamyeh/ansible:master-debian8-onbuild`
-  - `williamyeh/ansible:master-debian7-onbuild`
+  - `williamyeh/ansible:master-ubuntu16.04-onbuild`
   - `williamyeh/ansible:master-ubuntu14.04-onbuild`
-  - `williamyeh/ansible:master-ubuntu12.04-onbuild`
   - `williamyeh/ansible:master-centos7-onbuild`
-  - `williamyeh/ansible:master-centos6-onbuild`
 
 
 
@@ -121,14 +136,14 @@ Third, `docker build .`
 
 Done!
 
-For more advanced usage, the role in Ansible Galaxy [`williamyeh/nginx`](https://galaxy.ansible.com/williamyeh/nginx/) 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.
+For more advanced usage, the role in Ansible Galaxy [`williamyeh/nginx`](https://galaxy.ansible.com/williamyeh/nginx/) demonstrates how to perform a simple smoke test (*configuration needs test, too!*) on a variety of (*containerized*) Linux distributions on [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?
 
-There has been quite a few Ansible images for Docker (e.g., [search](https://registry.hub.docker.com/search?q=ansible) in the Docker Hub), so why reinvent the wheel?
+There has been quite a few Ansible images for Docker (e.g., [search](https://hub.docker.com/search/?q=ansible&isAutomated=0&isOfficial=0&page=1&pullCount=1&starCount=0) in the Docker Hub), so why reinvent the wheel?
 
 In the beginning I used the [`ansible/ansible-docker-base`](https://github.com/ansible/ansible-docker-base) created by Ansible Inc. It worked well, but left some room for improvement:
 
@@ -170,12 +185,11 @@ Take Debian/Ubuntu/CentOS for example. To test an Ansible `playbook.yml` against
 Vagrant.configure(2) do |config|
 
     # ==> Choose a Vagrant box to emulate Linux distribution...
-    config.vm.box = "ubuntu/trusty64"
-    #config.vm.box = "ubuntu/precise64"
+    config.vm.box = "ubuntu/xenial64"
+    #config.vm.box = "ubuntu/trusty64"
+    #config.vm.box = "debian/stretch64"
     #config.vm.box = "debian/jessie64"
-    #config.vm.box = "debian/wheezy64"
     #config.vm.box = "bento/centos-7.2"
-    #config.vm.box = "bento/centos-6.7"
     #config.vm.box = "maier/alpine-3.3.1-x86_64"
 
 
@@ -197,12 +211,11 @@ Docker to be a rescue. Now, with these **williamyeh/ansible** series, we may tes
 # Dockerfile
 
 # ==> Choose a base image to emulate Linux distribution...
-FROM williamyeh/ansible:ubuntu14.04
-#FROM williamyeh/ansible:ubuntu12.04
+FROM williamyeh/ansible:ubuntu16.04
+#FROM williamyeh/ansible:ubuntu14.04
+#FROM williamyeh/ansible:debian9
 #FROM williamyeh/ansible:debian8
-#FROM williamyeh/ansible:debian7
 #FROM williamyeh/ansible:centos7
-#FROM williamyeh/ansible:centos6
 #FROM williamyeh/ansible:alpine3
 
 
@@ -218,18 +231,17 @@ RUN ansible-playbook -i inventory playbook.yml \
       --connection=local --sudo
 ```
 
-You may also work with `onbuild` series, which take care of many routine steps for you:
+You may also work with `onbuild` variants, which take care of many routine steps for you:
 
 ```dockerfile
 # Dockerfile
 
 # ==> Choose a base image to emulate Linux distribution...
-FROM williamyeh/ansible:ubuntu14.04-onbuild
-#FROM williamyeh/ansible:ubuntu12.04-onbuild
+FROM williamyeh/ansible:ubuntu16.04-onbuild
+#FROM williamyeh/ansible:ubuntu14.04-onbuild
+#FROM williamyeh/ansible:debian9-onbuild
 #FROM williamyeh/ansible:debian8-onbuild
-#FROM williamyeh/ansible:debian7-onbuild
 #FROM williamyeh/ansible:centos7-onbuild
-#FROM williamyeh/ansible:centos6-onbuild
 #FROM williamyeh/ansible:alpine3-onbuild