Friday, October 20, 2023

Dockerfile Example

 


Hola..

Postingan kali ini akan membahas mengenai contoh membuat Dockerfile..

Yah ini hanya contoh, dokumentasi aja biar nanti kalo buat lagi gak bingung nyari contohnya..

Langsung aja deh kalau begitu, ini dia contohnya :


FROM composer:latest AS composer

FROM php:8.3-rc-apache-buster

COPY --from=composer /usr/bin/composer /usr/bin/composer
ENV COMPOSER_HOME=/.composer
ENV COMPOSER_ALLOW_SUPERUSER=1

ENV DEBIAN_FRONTEND noninteractive

RUN cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
RUN apt update && apt upgrade -y
RUN apt install -y libbz2-dev zlib1g-dev \
        libpng-dev libicu-dev libpq-dev \
        curl apt-transport-https wget \
        zip libzip-dev
RUN apt install -y libxslt-dev libmagickwand-dev --no-install-recommends

RUN     docker-php-ext-install bcmath bz2 exif ffi \
            gd gettext intl mysqli opcache pcntl \
            pdo_mysql pdo_pgsql pgsql shmop sockets \
            sysvmsg sysvsem sysvshm xsl zip

RUN mkdir -p /usr/src/php/ext/imagick; \
    curl -fsSL https://github.com/Imagick/imagick/archive/06116aa24b76edaf6b1693198f79e6c295eda8a9.tar.gz | tar xvz -C "/usr/src/php/ext/imagick" --strip 1; \
    docker-php-ext-install imagick;

#ODBC_DRIVER INSTALL
RUN curl https://packages.microsoft.com/keys/microsoft.asc | tee /etc/apt/trusted.gpg.d/microsoft.asc

#Debian 11
RUN curl https://packages.microsoft.com/config/debian/10/prod.list | tee /etc/apt/sources.list.d/mssql-release.list

RUN apt-get update
RUN ACCEPT_EULA=Y apt-get install -y msodbcsql17
# optional: for bcp and sqlcmd
RUN ACCEPT_EULA=Y apt-get install -y mssql-tools
RUN echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
RUN ["/bin/bash", "-c", "source ~/.bashrc"]
# optional: for unixODBC development headers
RUN apt-get install -y unixodbc-dev
# optional: kerberos library for debian-slim distributions
RUN apt-get install -y libgssapi-krb5-2

RUN cp /etc/ssl/openssl.cnf /etc/ssl/openssl.cnf.bak
COPY openssl.cnf /etc/ssl/openssl.cnf

RUN pecl config-set php_ini /usr/local/etc/php/php.ini
RUN pecl install sqlsrv pdo_sqlsrv
RUN docker-php-ext-enable sqlsrv pdo_sqlsrv

RUN apt-get install -y tzdata
ENV TZ=Asia/Makassar
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN sed -i 's/;date.timezone =/date.timezone = "Asia\/Makassar"/g' /usr/local/etc/php/php.ini

RUN a2enmod rewrite ssl userdir alias mime
RUN service apache2 restart

EXPOSE 80
EXPOSE 443

Dockerfile diatas adalah dockerfile untuk membuat docker php:8.3 include composer didalamnya dan sudah mengaktifkan beberapa php modul

No comments:

Post a Comment

IG Cang Ne!! @adi_kumkum