Pertama kita tarik dulu ubuntu:20.04 agar gak bolak balik download ke image kita. Dengan cara mengetikkan ini di terminal ubuntunya :
docker pull ubuntu:20.04
Setelah itu buat file dengan nama Dockerfile kemudian isikan seperti ini :
FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get install -y software-properties-common
RUN add-apt-repository ppa:ondrej/php
RUN apt-get update
RUN apt-get -y install nano
RUN apt-get install -y apache2
# Install Utilities
# Install ppa:ondrej/php PPA
RUN apt-get -y install libfbclient2
RUN apt-get install -y curl unzip build-essential nano wget mcrypt
RUN apt-get -qq update && apt-get -qq -y install bzip2
RUN apt-get install -y chrpath libssl-dev libxft-dev
#Install PHP 8
RUN apt-get install -y php-pear libapache2-mod-php8.0
RUN apt-get install -y php8.0-bz2 php8.0-zip php8.0-curl php8.0-gd php8.0-mysql php8.0-xml php8.0-dev php8.0-sqlite php8.0-mbstring php8.0-bcmath
RUN apt-get install -y php8.0-interbase
RUN apt-get install -y php8.0-imagick
RUN sed -i -e 's/^error_reporting\s*=.*/error_reporting = E_ALL/' /etc/php/8.0/apache2/php.ini
RUN sed -i -e 's/^display_errors\s*=.*/display_errors = On/' /etc/php/8.0/apache2/php.ini
RUN sed -i -e 's/^zlib.output_compression\s*=.*/zlib.output_compression = Off/' /etc/php/8.0/apache2/php.ini
RUN sed -i -e 's/^zpost_max_size\s*=.*/post_max_size = 32M/' /etc/php/8.0/apache2/php.ini
RUN sed -i -e 's/^upload_max_filesize\s*=.*/upload_max_filesize = 32M/' /etc/php/8.0/apache2/php.ini
RUN a2enmod rewrite
RUN a2enmod ssl
RUN service apache2 restart
RUN sed -i '/<Directory \/var\/www\/>/,/<\/Directory>/ s/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
CMD ["/usr/sbin/apache2ctl", "-DFOREGROUND"]
WORKDIR "/var/www/html"
kemudian masuk ke direktori dimana file dibuat dan build image dengan script berikut
docker build -t php:8.0 .
Kemudian image terbuat dengan nama php:8.0
Catatan tambahan :
Dari settingan di atas saya lupa untuk menambah max_execution_time, tapi ternyata di laravel bisa untuk mensetting execution time tanpa merubah php ini.
Berikut ini caranya :
public function __construct()
{
ini_set('max_execution_time',0);
ini_set('memory_limit', '-1');
}
MANTAP GAN
BalasHapus