# pluie/ubuntu - [index][1] - [pluie/alpine][2] ( ~ 9 MB ) Alpine/3.5 - [pluie/alpine-apache][3] ( ~ 50 MB ) Apache/2.4.25 Php/5.6.30 - [pluie/alpine-apache-fpm][7] ( ~ 51 MB ) Apache/2.4.25 Php/5.6.30 Fpm - [pluie/alpine-symfony][6] ( ~ 83 MB ) Symfony2.8 or 3.2 - [pluie/alpine-apache-php7][8] ( ~ 45 MB ) Apache/2.4.25 Php/7.0.16 - [pluie/alpine-symfony-php7][9] ( ~ 77 MB ) Symfony2.8 or 3.2 Php/7.0.16 - [pluie/alpine-mysql][4] ( ~181 MB ) Mysql/5.6 ( MariaDB ) - [pluie/libecho][10] ( ~288 MB ) Vala 0.34.2 pluie-echo-0.2 - [pluie/ubuntu][12] ( ~141 MB ) Ubuntu 18.04 - [pluie/libyaml][11] ( ~538 MB ) Vala 0.40.4 pluie-yaml-0.4 - [docker tips][5] This Image provide a Linux Ubuntu LTS distribution base image. Base image : [ubuntu](https://hub.docker.com/_/ubuntu/) This project come with a structure to facilitate further images (like pluie/libyaml) ## Image Size - 141 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 ``` [1]: https://github.com/pluie-org/docker-images [2]: https://github.com/pluie-org/docker-images/tree/master/pluie/alpine [3]: https://github.com/pluie-org/docker-images/tree/master/pluie/alpine-apache [4]: https://github.com/pluie-org/docker-images/tree/master/pluie/alpine-mysql [7]: https://github.com/pluie-org/docker-images/tree/master/pluie/alpine-apache-fpm [5]: https://github.com/pluie-org/docker-images/blob/master/DOCKER.md [6]: https://github.com/pluie-org/docker-images/tree/master/pluie/alpine-symfony [8]: https://github.com/pluie-org/docker-images/tree/master/pluie/alpine-apache-php7 [9]: https://github.com/pluie-org/docker-images/tree/master/pluie/alpine-symfony-php7 [10]: https://github.com/pluie-org/docker-images/tree/master/pluie/libecho [11]: https://github.com/pluie-org/docker-images/tree/master/pluie/libyaml [12]: https://github.com/pluie-org/docker-images/tree/master/pluie/ubuntu