.. | ||
install.d | ||
pre-init.d | ||
build | ||
common.sh | ||
Dockerfile | ||
files.tar | ||
install.sh | ||
main.sh | ||
README.md | ||
util.sh |
pluie/alpine
- index
- pluie/alpine ( ~ 9 MB ) Alpine/3.5
- pluie/alpine-apache ( ~ 50 MB ) Apache/2.4.25 Php/5.6.30
- pluie/alpine-apache-fpm ( ~ 51 MB ) Apache/2.4.25 Php/5.6.30 Fpm
- pluie/alpine-symfony ( ~ 83 MB ) Symfony2.8 or 3.2
- pluie/alpine-apache-php7 ( ~ 45 MB ) Apache/2.4.25 Php/7.0.16
- pluie/alpine-symfony-php7 ( ~ 77 MB ) Symfony2.8 or 3.2 Php/7.0.16
- pluie/alpine-mysql ( ~181 MB ) Mysql/5.6 ( MariaDB )
- pluie/libecho ( ~288 MB ) Vala 0.34.2 pluie-echo-0.2
- pluie/ubuntu ( ~ 9 MB ) Ubuntu 18.04
- pluie/libyaml ( ~535 MB ) Vala 0.36.2 pluie-yaml-0.4
- docker tips
This Image provide a Linux Ubuntu LTS distribution with :
- fully functionnal & colorized terminal
- bash
- curl
- nano as editor
Base image : ubuntu
This project come with a structure to facilitate further images (like pluie/libyaml)
Image Size
- very small image ~ 9 MB
Image Usage
$ docker run --name ubuntu -it pluie/ubuntu
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/libyalm wich extend pluie/ubuntu
Extend pluie/ubuntu Image
RUN instructions are minimized
on extended image you only need to 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/libyaml)
# @app pluie/libyaml
# @author a-Sansara https://git.pluie.org/pluie/docker-images
FROM pluie:ubuntu
MAINTAINER a-Sansara https://github.com/a-sansara
ADD files.tar /scripts
ENV SHENV_NAME=libyaml \
SHENV_COLOR=36 \
TZ=Europe/Paris
RUN bash /scripts/install.sh