docker-images/pluie/alpine
2017-01-30 02:58:46 +01:00
..
install.d homogenize header 2016-08-06 02:29:06 +02:00
pre-init.d homogenize header 2016-08-06 02:29:06 +02:00
.gitignore adding pluie/alpine based image 2016-07-25 02:28:26 +02:00
build homogenize header 2016-08-06 02:29:06 +02:00
common.sh homogenize header 2016-08-06 02:29:06 +02:00
Dockerfile homogenize header 2016-08-06 02:29:06 +02:00
files.tar adding pluie/alpine-apache-php7 2017-01-29 23:44:52 +01:00
install.sh homogenize header 2016-08-06 02:29:06 +02:00
main.sh homogenize header 2016-08-06 02:29:06 +02:00
README.md fix php7 & add symfony-php7 2017-01-30 02:58:46 +01:00
util.sh amend create ps1 2016-08-06 17:37:41 +02:00

pluie/alpine

This Image provide a Linux Alpine distribution with :

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

Base image : [alpine:3.4] (https://hub.docker.com/_/alpine/)

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

note : wget ssl issue

apk add ca-certificates wget && update-ca-certificates

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-builder.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

ENV      SHENV_NAME=Apache \
        SHENV_COLOR=67 \
   HTTP_SERVER_NAME=site.docker \
            WWW_DIR=www \
          WWW_INDEX=index.php \
      FIX_OWNERSHIP=1 \
      TZ=Europe/Paris

EXPOSE 80

RUN bash /scripts/install.sh