File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ APACHE_VERSION = 2.4.41
2+ MYSQL_VERSION = 8.0.0
3+ PHP_VERSION = 7.3
4+
5+ DB_NAME = drupal
6+ DB_USERNAME = drupal
7+ DB_PASSWORD = drupal123
8+ MYSQL_ROOT_PASSWORD = admin
9+
10+ PROJECT_ROOT = ./docroot
Original file line number Diff line number Diff line change 1+ ARG APACHE_VERSION=""
2+ FROM httpd:${APACHE_VERSION:+${APACHE_VERSION}-}alpine
3+
4+ RUN apk update; \
5+ apk upgrade;
6+
7+ # Copy apache vhost file to proxy php requests to php-fpm container
8+ COPY apache.conf /usr/local/apache2/conf/apache.conf
9+ RUN echo "Include /usr/local/apache2/conf/apache.conf" \
10+ >> /usr/local/apache2/conf/httpd.conf
Original file line number Diff line number Diff line change 1+ ServerName localhost
2+
3+ LoadModule deflate_module /usr/local/apache2/modules/mod_deflate.so
4+ LoadModule proxy_module /usr/local/apache2/modules/mod_proxy.so
5+ LoadModule proxy_fcgi_module /usr/local/apache2/modules/mod_proxy_fcgi.so
6+ LoadModule rewrite_module /usr/local/apache2/modules/mod_rewrite.so
7+
8+ <VirtualHost *:80>
9+ # Php requests to port 9000 of the php-fpm container
10+ ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://php:9000/var/www/html/$1
11+ DocumentRoot /var/www/html/
12+ <Directory /var/www/html/>
13+ DirectoryIndex index.php
14+ Options Indexes FollowSymLinks
15+ AllowOverride All
16+ Require all granted
17+ </Directory>
18+
19+ # Manage apache and error logs
20+ ErrorLog /var/log/apache2/error.log
21+ </VirtualHost>
Original file line number Diff line number Diff line change 1+ version : " 3.2"
2+ services :
3+ php :
4+ build :
5+ context : ' ./php/'
6+ args :
7+ PHP_VERSION : ${PHP_VERSION}
8+ networks :
9+ - backend
10+ volumes :
11+ - ${PROJECT_ROOT}/:/var/www/html/
12+ container_name : php
13+ apache :
14+ build :
15+ context : ' ./apache/'
16+ args :
17+ APACHE_VERSION : ${APACHE_VERSION}
18+ depends_on :
19+ - php
20+ - mysql
21+ networks :
22+ - frontend
23+ - backend
24+ ports :
25+ - " 80:80"
26+ volumes :
27+ - ${PROJECT_ROOT}/:/var/www/html/
28+ container_name : apache
29+ mysql :
30+ image : mysql:${MYSQL_VERSION:-latest}
31+ restart : always
32+ ports :
33+ - " 3306:3306"
34+ volumes :
35+ - data:/var/lib/mysql
36+ networks :
37+ - backend
38+ environment :
39+ MYSQL_ROOT_PASSWORD : " ${DB_ROOT_PASSWORD}"
40+ MYSQL_DATABASE : " ${DB_NAME}"
41+ MYSQL_USER : " ${DB_USERNAME}"
42+ MYSQL_PASSWORD : " ${DB_PASSWORD}"
43+ container_name : mysql
44+ networks :
45+ frontend :
46+ backend :
47+ volumes :
48+ data :
Original file line number Diff line number Diff line change 1+ <h1>Congratulations!! Docker setup connection is successful.</h1>
2+
3+ <h4>Checking MySQL integration with php.</h4>
4+ <?php
5+ $ host = 'mysql ' ;
6+ $ user = 'drupal ' ;
7+ $ pass = 'drupal123 ' ;
8+ $ conn = new mysqli ($ host , $ user , $ pass );
9+
10+ if ($ conn ->connect_error ) {
11+ die ("MySql connection is failed: " . $ conn ->connect_error );
12+ } else {
13+ echo "MySql connection is successful! " ;
14+ }
15+
16+ echo phpinfo ();
17+
18+ ?>
Original file line number Diff line number Diff line change 1+ ARG PHP_VERSION=""
2+ FROM php:${PHP_VERSION:+${PHP_VERSION}-}fpm-alpine
3+
4+ RUN apk update; \
5+ apk upgrade;
6+
7+ # Install MySql
8+ RUN docker-php-ext-install mysqli
9+
10+ RUN docker-php-ext-install mysqli pdo pdo_mysql
11+
12+ # Install Composer
13+ RUN curl -sS https://getcomposer.org/installer | php && \
14+ mv composer.phar /usr/local/bin/composer && \
15+ ln -s /root/.composer/vendor/bin/drush /usr/local/bin/drush
16+
17+ # Install Drush
18+ RUN composer global require drush/drush && \
19+ composer global update
20+
21+ # PHP packages
22+ RUN apk add --update \
23+ libressl \
24+ ca-certificates \
25+ openssh-client \
26+ rsync \
27+ git \
28+ curl \
29+ wget \
30+ gzip \
31+ tar \
32+ patch \
33+ perl \
34+ pcre \
35+ imap \
36+ imagemagick \
37+ mariadb-client \
38+ build-base \
39+ autoconf \
40+ libtool \
41+ php7-dev \
42+ pcre-dev \
43+ imagemagick-dev \
44+ php7 \
45+ php7-fpm \
46+ php7-opcache \
47+ php7-session \
48+ php7-dom \
49+ php7-xml \
50+ php7-xmlreader \
51+ php7-ctype \
52+ php7-ftp \
53+ php7-gd \
54+ php7-json \
55+ php7-posix \
56+ php7-curl \
57+ php7-pdo \
58+ php7-pdo_mysql \
59+ php7-sockets \
60+ php7-zlib \
61+ php7-mcrypt \
62+ php7-mysqli \
63+ php7-sqlite3 \
64+ php7-bz2 \
65+ php7-phar \
66+ php7-openssl \
67+ php7-posix \
68+ php7-zip \
69+ php7-calendar \
70+ php7-iconv \
71+ php7-imap \
72+ php7-soap \
73+ php7-dev \
74+ php7-pear \
75+ php7-redis \
76+ php7-mbstring \
77+ php7-xdebug \
78+ php7-exif \
79+ php7-xsl \
80+ php7-ldap \
81+ php7-bcmath \
82+ php7-memcached \
83+ php7-oauth \
84+ php7-apcu
You can’t perform that action at this time.
0 commit comments