docker-images/pluie/alpine
2016-07-29 11:22:14 +02:00
..
install.d adding image pluie/alpine-apache 2016-07-25 05:01:53 +02:00
pre-init.d adding pluie/alpine based image 2016-07-25 02:28:26 +02:00
.gitignore adding pluie/alpine based image 2016-07-25 02:28:26 +02:00
build amend build + add ps1 2016-07-25 04:35:21 +02:00
common.sh adding pluie/alpine based image 2016-07-25 02:28:26 +02:00
Dockerfile amend build + add ps1 2016-07-25 04:35:21 +02:00
files.tar add files.tar for docker automated build 2016-07-28 17:07:53 +02:00
install.sh adding pluie/alpine based image 2016-07-25 02:28:26 +02:00
main.sh adding pluie/alpine based image 2016-07-25 02:28:26 +02:00
README.md update readme 2016-07-29 11:22:14 +02:00
util.sh amend build + add ps1 2016-07-25 04:35:21 +02:00

pluie/alpine

This Image provide a Linux Alpine distribution with :

  • fully functionnal & colorized terminal
  • bash
  • curl
  • nano as editor

Base image : [gliderlabs/alpine:3.2] (https://registry.hub.docker.com/u/gliderlabs/alpine/)

This project come with a structure to facilitate further images (like pluie/alpine-apache & pluie/alpine-mysql)

Image Size

  • very small image < 10 MB

Image Usage

$ docker run --name alpine -it pluie/alpine

Image Structure

project/
   |
   |-- install.d/   # deployed in /scripts on target container
   |      |         # launch on docker image building process
   |      |         # XX-name.sh - low XX are run first
   |      |-- 00-util.sh
   |      |-- 40-fix.sh
   |
   |-- pre-init.d/  # deployed in /scripts on target container
   |      |         # launch on docker container running process
   |      |-- 50-example.sh
   |
   |-- build        # build docker image : ./build [TAG]
   |-- common.sh    # don't modify - sourced by main.sh to execute pre-init.d scripts first
   |-- install.sh   # don't modify - execute install.d scripts on docker building process
   |-- main.sh      # source common.sh then execute entry point instruction
   |-- util.sh      # sourced by common.sh

you can easily create your own images based on this structure.
keep an eye to pluie/alpine-apache & pluie/alpine-mysql wich extend pluie/alpine

Extend pluie/alpine Image

RUN instructions are minimized
on extended image you can only use :

RUN bash /scripts/install.sh

add your packages in a script in install.d directory
keep name below 40 because install.d/40-fix.sh clean package repository
each extended image inherit install.d && pre-init.d scripts

extended images doesn't need to define ENTRYPOINT
you can keep intact build script in each extended project
manage your install & init instruction in install.d & pre-init.d directory
and write your own main.sh script

Docker file example (from pluie/alpine-apache)

FROM pluie/alpine

MAINTAINER a-Sansara https://github.com/a-sansara

ADD files.tar /scripts

RUN bash /scripts/install.sh

EXPOSE 80

VOLUME /app