File tree Expand file tree Collapse file tree 6 files changed +191
-0
lines changed Expand file tree Collapse file tree 6 files changed +191
-0
lines changed 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