X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=README.md;h=58627ac65bf929d4eec2e9acc8e4845b89b86b1c;hb=HEAD;hp=d982543b0c3d8d15eac9a2dfaac411d9f4e47552;hpb=042ddec8383b0755e60bb01dc93ae3378374b637;p=github%2Ffretlink%2Fdocker-ansible.git diff --git a/README.md b/README.md index d982543..58627ac 100644 --- 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,93 +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 (xenial, trusty, precise), CentOS (7, 6), Alpine (3). +### Base OS -- Ansible: four 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; - 4. for building *minimal* images from playbooks; i.e., the Ansible body will be removed when mission completed. +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` - - -### Minimal series (the Ansible body will be removed when mission completed): - -- Onbuild series: - - - `williamyeh/ansible:mini-alpine3` - - `williamyeh/ansible:mini-debian8` @@ -141,7 +143,7 @@ For more advanced usage, the role in Ansible Galaxy [`williamyeh/nginx`](https:/ ## 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: @@ -183,13 +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/xenial64" - 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" @@ -211,13 +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:ubuntu16.04 -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 @@ -233,19 +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:ubuntu16.04-onbuild -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