clean
This commit is contained in:
commit
5d1a7c80df
22
5.6/Dockerfile
Normal file
22
5.6/Dockerfile
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
FROM php:5.6-stretch
|
||||||
|
|
||||||
|
# Set build shell to bash, default has has some issues sometimes
|
||||||
|
SHELL ["/bin/bash", "-c"]
|
||||||
|
|
||||||
|
# Update stretch repositories
|
||||||
|
RUN sed -i -e 's/deb.debian.org/archive.debian.org/g' \
|
||||||
|
-e 's|security.debian.org|archive.debian.org/|g' \
|
||||||
|
-e '/stretch-updates/d' /etc/apt/sources.list
|
||||||
|
|
||||||
|
# Install basic tools
|
||||||
|
RUN apt update \
|
||||||
|
&& apt install curl nano iputils-ping libzip-dev zip unzip libfreetype6-dev libjpeg62-turbo-dev -y --no-install-recommends \
|
||||||
|
&& apt auto-remove -y \
|
||||||
|
&& apt clean -y
|
||||||
|
|
||||||
|
## Install composer and some base extensions
|
||||||
|
# Configure and Install mysqli,pdo,pdo_mysql,bcmath,calendar,zip,gettext,exif,pcntl,shmop,-j$(nproc),gd,sysvmsg
|
||||||
|
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||||
|
&& docker-php-ext-configure pcntl --enable-pcntl \
|
||||||
|
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
|
||||||
|
&& docker-php-ext-install {mysqli,pdo,pdo_mysql,bcmath,calendar,zip,gettext,exif,pcntl,shmop,-j$(nproc),gd,sysvmsg,sysvsem,sysvshm}
|
17
5.6/docker-compose.yml
Normal file
17
5.6/docker-compose.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
version: '3.5'
|
||||||
|
services:
|
||||||
|
#########################
|
||||||
|
fpm:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
x-bake:
|
||||||
|
pull: true
|
||||||
|
platforms:
|
||||||
|
- linux/amd64/v1
|
||||||
|
- linux/amd64/v2
|
||||||
|
- linux/amd64/v3
|
||||||
|
- linux/arm/v7
|
||||||
|
- linux/arm64
|
||||||
|
hostname: fpm
|
||||||
|
image: git.shihaam.dev/dockerfiles/php-fpm:5.6
|
22
7.1.33/Dockerfile
Normal file
22
7.1.33/Dockerfile
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
FROM php:7.1.33-fpm-buster
|
||||||
|
|
||||||
|
# Set build shell to bash, default has has some issues sometimes
|
||||||
|
SHELL ["/bin/bash", "-c"]
|
||||||
|
|
||||||
|
# Install basic tools
|
||||||
|
## libzip-dev is required for php-zip
|
||||||
|
## libfreetype6-dev libjpeg62-turbo-dev are required for php-gd
|
||||||
|
RUN apt update \
|
||||||
|
&& apt install curl nano iputils-ping libzip-dev zip unzip libfreetype6-dev libjpeg62-turbo-dev -y --no-install-recommends \
|
||||||
|
&& apt auto-remove -y \
|
||||||
|
&& apt clean -y
|
||||||
|
|
||||||
|
## Install composer and some base extensions
|
||||||
|
# Configure and Install mysqli,pdo,pdo_mysql,bcmath,calendar,zip,gettext,exif,pcntl,shmop,-j$(nproc),gd,sysvmsg
|
||||||
|
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||||
|
&& docker-php-ext-configure pcntl --enable-pcntl \
|
||||||
|
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
|
||||||
|
&& docker-php-ext-install {mysqli,pdo,pdo_mysql,bcmath,calendar,zip,gettext,exif,pcntl,shmop,-j$(nproc),gd,sysvmsg,sysvsem,sysvshm}
|
||||||
|
|
||||||
|
# Copy php.ini config
|
||||||
|
COPY php.ini /usr/local/etc/php/php.ini
|
17
7.1.33/docker-compose.yml
Normal file
17
7.1.33/docker-compose.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
version: '3.5'
|
||||||
|
services:
|
||||||
|
#########################
|
||||||
|
fpm:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
x-bake:
|
||||||
|
pull: true
|
||||||
|
platforms:
|
||||||
|
- linux/amd64/v1
|
||||||
|
- linux/amd64/v2
|
||||||
|
- linux/amd64/v3
|
||||||
|
- linux/arm/v7
|
||||||
|
- linux/arm64
|
||||||
|
hostname: fpm
|
||||||
|
image: git.shihaam.dev/dockerfiles/php-fpm:7.1.33
|
17
7.1.33/extra.Dockerfile
Normal file
17
7.1.33/extra.Dockerfile
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Install Image Magick
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install libmagickwand-dev --no-install-recommends -y \
|
||||||
|
&& pecl install imagick \
|
||||||
|
&& docker-php-ext-enable imagick
|
||||||
|
|
||||||
|
|
||||||
|
# Install intl
|
||||||
|
|
||||||
|
RUN apt-get -y update \
|
||||||
|
&& apt-get install -y libicu-dev \
|
||||||
|
&& docker-php-ext-configure intl \
|
||||||
|
&& docker-php-ext-install intl
|
1955
7.1.33/php.ini
Normal file
1955
7.1.33/php.ini
Normal file
File diff suppressed because it is too large
Load Diff
22
7.2/Dockerfile
Normal file
22
7.2/Dockerfile
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
FROM php:7.2-fpm-buster
|
||||||
|
|
||||||
|
# Set build shell to bash, default has has some issues sometimes
|
||||||
|
SHELL ["/bin/bash", "-c"]
|
||||||
|
|
||||||
|
# Install basic tools
|
||||||
|
## libzip-dev is required for php-zip
|
||||||
|
## libfreetype6-dev libjpeg62-turbo-dev are required for php-gd
|
||||||
|
RUN apt update \
|
||||||
|
&& apt install curl nano iputils-ping libzip-dev zip unzip libfreetype6-dev libjpeg62-turbo-dev -y --no-install-recommends \
|
||||||
|
&& apt auto-remove -y \
|
||||||
|
&& apt clean -y
|
||||||
|
|
||||||
|
## Install composer and some base extensions
|
||||||
|
# Configure and Install mysqli,pdo,pdo_mysql,bcmath,calendar,zip,gettext,exif,pcntl,shmop,-j$(nproc),gd,sysvmsg
|
||||||
|
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||||
|
&& docker-php-ext-configure pcntl --enable-pcntl \
|
||||||
|
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
|
||||||
|
&& docker-php-ext-install {mysqli,pdo,pdo_mysql,bcmath,calendar,zip,gettext,exif,pcntl,shmop,-j$(nproc),gd,sysvmsg,sysvsem,sysvshm}
|
||||||
|
|
||||||
|
# Copy php.ini config
|
||||||
|
COPY php.ini /usr/local/etc/php/php.ini
|
17
7.2/docker-compose.yml
Normal file
17
7.2/docker-compose.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
version: '3.5'
|
||||||
|
services:
|
||||||
|
#########################
|
||||||
|
fpm:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
x-bake:
|
||||||
|
pull: true
|
||||||
|
platforms:
|
||||||
|
- linux/amd64/v1
|
||||||
|
- linux/amd64/v2
|
||||||
|
- linux/amd64/v3
|
||||||
|
- linux/arm/v7
|
||||||
|
- linux/arm64
|
||||||
|
hostname: fpm
|
||||||
|
image: git.shihaam.dev/dockerfiles/php-fpm:7.2
|
17
7.2/extra.Dockerfile
Normal file
17
7.2/extra.Dockerfile
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Install Image Magick
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install libmagickwand-dev --no-install-recommends -y \
|
||||||
|
&& pecl install imagick \
|
||||||
|
&& docker-php-ext-enable imagick
|
||||||
|
|
||||||
|
|
||||||
|
# Install intl
|
||||||
|
|
||||||
|
RUN apt-get -y update \
|
||||||
|
&& apt-get install -y libicu-dev \
|
||||||
|
&& docker-php-ext-configure intl \
|
||||||
|
&& docker-php-ext-install intl
|
1933
7.2/php.ini
Normal file
1933
7.2/php.ini
Normal file
File diff suppressed because it is too large
Load Diff
20
7.3.33/Dockerfile
Normal file
20
7.3.33/Dockerfile
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
FROM php:7.3.33-fpm-bullseye
|
||||||
|
|
||||||
|
# Set build shell to bash, default has has some issues sometimes
|
||||||
|
SHELL ["/bin/bash", "-c"]
|
||||||
|
|
||||||
|
# Install basic tools
|
||||||
|
## libzip-dev is required for php-zip
|
||||||
|
## libfreetype6-dev libjpeg62-turbo-dev are required for php-gd
|
||||||
|
RUN apt update \
|
||||||
|
&& apt install curl nano iputils-ping zip libzip-dev unzip libfreetype6-dev libjpeg62-turbo-dev -y --no-install-recommends \
|
||||||
|
&& apt auto-remove -y \
|
||||||
|
&& apt clean -y
|
||||||
|
|
||||||
|
## Install composer and some base extensions
|
||||||
|
# Configure and Install mysqli,pdo,pdo_mysql,bcmath,calendar,zip,gettext,exif,pcntl,shmop,-j$(nproc),gd,sysvmsg
|
||||||
|
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||||
|
&& docker-php-ext-configure pcntl --enable-pcntl \
|
||||||
|
&& docker-php-ext-configure zip --with-libzip \
|
||||||
|
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
|
||||||
|
&& docker-php-ext-install {mysqli,pdo,pdo_mysql,bcmath,calendar,zip,gettext,exif,pcntl,shmop,-j$(nproc),gd,sysvmsg,sysvsem,sysvshm}
|
17
7.3.33/docker-compose.yml
Normal file
17
7.3.33/docker-compose.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
version: '3.5'
|
||||||
|
services:
|
||||||
|
#########################
|
||||||
|
fpm:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
x-bake:
|
||||||
|
pull: true
|
||||||
|
platforms:
|
||||||
|
- linux/amd64/v1
|
||||||
|
- linux/amd64/v2
|
||||||
|
- linux/amd64/v3
|
||||||
|
- linux/arm/v7
|
||||||
|
- linux/arm64
|
||||||
|
hostname: fpm
|
||||||
|
image: git.shihaam.dev/dockerfiles/php-fpm:7.3.33
|
20
8.2.3/Dockerfile
Normal file
20
8.2.3/Dockerfile
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
FROM php:8.2.3-fpm-bullseye
|
||||||
|
|
||||||
|
# Set build shell to bash, default has has some issues sometimes
|
||||||
|
SHELL ["/bin/bash", "-c"]
|
||||||
|
|
||||||
|
# Install basic tools
|
||||||
|
## libzip-dev is required for php-zip
|
||||||
|
## libfreetype6-dev libjpeg62-turbo-dev are required for php-gd
|
||||||
|
RUN apt update \
|
||||||
|
&& apt install curl nano iputils-ping libzip-dev zip unzip libfreetype6-dev libjpeg62-turbo-dev -y --no-install-recommends \
|
||||||
|
&& apt auto-remove -y \
|
||||||
|
&& apt clean -y
|
||||||
|
|
||||||
|
## Install composer and some base extensions
|
||||||
|
# Configure and Install mysqli,pdo,pdo_mysql,bcmath,calendar,zip,gettext,exif,pcntl,shmop,-j$(nproc),gd,sysvmsg
|
||||||
|
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||||
|
&& docker-php-ext-install {mysqli,pdo,pdo_mysql,bcmath,calendar,zip,gettext,exif,pcntl,shmop,-j$(nproc),gd,sysvmsg,sysvsem,sysvshm}
|
||||||
|
|
||||||
|
# Copy php.ini config
|
||||||
|
COPY php.ini /usr/local/etc/php/php.ini
|
17
8.2.3/docker-compose.yml
Normal file
17
8.2.3/docker-compose.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
version: '3.5'
|
||||||
|
services:
|
||||||
|
#########################
|
||||||
|
fpm:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
x-bake:
|
||||||
|
pull: true
|
||||||
|
platforms:
|
||||||
|
- linux/amd64/v1
|
||||||
|
- linux/amd64/v2
|
||||||
|
- linux/amd64/v3
|
||||||
|
- linux/arm/v7
|
||||||
|
- linux/arm64
|
||||||
|
hostname: fpm
|
||||||
|
image: git.shihaam.dev/dockerfiles/php-fpm:8.2.3
|
1963
8.2.3/php.ini
Normal file
1963
8.2.3/php.ini
Normal file
File diff suppressed because it is too large
Load Diff
87
README.md
Normal file
87
README.md
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
# php-fpm
|
||||||
|
|
||||||
|
- These containes are meant to be used as base images for app container with custom nginx container that expects volume from fpm container.
|
||||||
|
|
||||||
|
## Multi-arch support
|
||||||
|
- Install emualtor:
|
||||||
|
```bash
|
||||||
|
docker run --privileged --rm tonistiigi/binfmt --uninstall qemu-* #Uninstall existing
|
||||||
|
docker run --privileged --rm tonistiigi/binfmt --install all
|
||||||
|
```
|
||||||
|
- You may need to set these variable before running build if you have pre Docker v23
|
||||||
|
```bash
|
||||||
|
export COMPOSE_DOCKER_CLI_BUILD=1
|
||||||
|
export DOCKER_BUILDKIT=1
|
||||||
|
```
|
||||||
|
Enable (1) or disable (0) BuildKit builds
|
||||||
|
|
||||||
|
#### Adding new version
|
||||||
|
- copy one of the folders in this repo with new version number and edit Docker file in the new folder as needed.
|
||||||
|
|
||||||
|
#### Building new container
|
||||||
|
- `cd` into a folder and run `docker buildx bake --load`
|
||||||
|
|
||||||
|
#### Pushing built container to registry
|
||||||
|
- `cd` into a folder and run `docker buildx bake --push`
|
||||||
|
|
||||||
|
###
|
||||||
|
- Avoid adding app specifc depdencies to base images.
|
||||||
|
|
||||||
|
### Custom building
|
||||||
|
- go to app repo and create a .build dir and create `docker-compose.yml` with the following content:
|
||||||
|
```yaml
|
||||||
|
version: '3.5'
|
||||||
|
services:
|
||||||
|
#########################
|
||||||
|
fpm:
|
||||||
|
build:
|
||||||
|
context: ../
|
||||||
|
dockerfile: .build/fpm.Dockerfile
|
||||||
|
x-bake:
|
||||||
|
pull: true
|
||||||
|
platforms:
|
||||||
|
- linux/amd64/v1
|
||||||
|
- linux/amd64/v2
|
||||||
|
- linux/amd64/v3
|
||||||
|
- linux/arm/v7
|
||||||
|
- linux/arm64
|
||||||
|
hostname: fpm
|
||||||
|
image: git.shihaam.dev/dockerfiles/<app>/fpm
|
||||||
|
#########################
|
||||||
|
nginx:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: nginx.Dockerfile
|
||||||
|
x-bake:
|
||||||
|
pull: true
|
||||||
|
platforms:
|
||||||
|
- linux/amd64/v1
|
||||||
|
- linux/amd64/v2
|
||||||
|
- linux/amd64/v3
|
||||||
|
- linux/arm/v7
|
||||||
|
- linux/arm64
|
||||||
|
hostname: nginx
|
||||||
|
image: git.shihaam.dev/dockerfiles/<app>/nginx
|
||||||
|
```
|
||||||
|
## running the app
|
||||||
|
- Save the following in project dir as `docker-compose.yml` and run `docker compose up`
|
||||||
|
```yaml
|
||||||
|
version: '3.5'
|
||||||
|
services:
|
||||||
|
#########################
|
||||||
|
fpm:
|
||||||
|
hostname: fpm
|
||||||
|
image: git.shihaam.dev/dockerfiles/<app>/fpm
|
||||||
|
env_file:
|
||||||
|
- env
|
||||||
|
volumes:
|
||||||
|
- ./public:/var/www/html/storage/app/public
|
||||||
|
#########################
|
||||||
|
nginx:
|
||||||
|
hostname: nginx
|
||||||
|
image: git.shihaam.dev/dockerfiles/<>/nginx
|
||||||
|
ports:
|
||||||
|
- 8000:80
|
||||||
|
volumes_from:
|
||||||
|
- fpm
|
||||||
|
```
|
17
build-all.sh
Executable file
17
build-all.sh
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#COMPOSE_DOCKER_CLI_BUILD=1
|
||||||
|
#DOCKER_BUILDKIT=1
|
||||||
|
#DOCKER_DEFAULT_PLATFORM=linux/amd64
|
||||||
|
|
||||||
|
# Loop through each directory
|
||||||
|
for dir in */; do
|
||||||
|
# Change into the directory
|
||||||
|
cd "$dir"
|
||||||
|
|
||||||
|
# Run docker build and push
|
||||||
|
docker buildx bake --push
|
||||||
|
|
||||||
|
# Change back to the parent directory
|
||||||
|
cd ..
|
||||||
|
done
|
Loading…
x
Reference in New Issue
Block a user