1- Instalar docker
https://docs.docker.com/engine/installation/
2- Descargar docker-compose
https://docs.docker.com/compose/install/
3- Crear archivo dockerfile en un directorio de trabajo.
FROM php:7-apache
RUN a2enmod rewrite
# install the PHP extensions we need (git for Composer, mysql-client for mysqldump)
RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libpq-dev git mysql-client-5.5 wget \
&& rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-configure gd –with-png-dir=/usr –with-jpeg-dir=/usr \
&& docker-php-ext-install gd mbstring opcache pdo pdo_mysql pdo_pgsql zip
# set recommended PHP.ini settings
# see https://secure.php.net/manual/en/opcache.installation.php
RUN { \
echo ‘opcache.memory_consumption=128’; \
echo ‘opcache.interned_strings_buffer=8’; \
echo ‘opcache.max_accelerated_files=4000’; \
echo ‘opcache.revalidate_freq=60’; \
echo ‘opcache.fast_shutdown=1’; \
echo ‘opcache.enable_cli=1’; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini
WORKDIR /root
#Configure PHP memory limit
RUN { \
echo «memory_limit = 256M»; \
} >> /usr/local/etc/php/php.ini
#Install Drush 8.1.2
RUN wget https://github.com/drush-ops/drush/releases/download/8.1.2/drush.phar && php drush.phar core-status && chmod +x drush.phar \
&& mv drush.phar /usr/local/bin/drush
#Install Drupal Console
RUN curl http://drupalconsole.com/installer -L -o drupal.phar
RUN mv drupal.phar /usr/local/bin/drupal && chmod +x /usr/local/bin/drupal
RUN drupal init
WORKDIR /var/www/html
4- Crear la imagen docker
#docker build -t YOUR_IMAGE_NAME .
5- Crear el archivo docker-compose.yml
Cambiar /home/user/webdev/ por el directorio de trabajo.
version: ‘2’
services:
drupal-web:
image: YOUR_IMAGE_NAME:latest
ports:
– «8080:80»
depends_on:
– mysql-server
links:
– mysql-server:mysql
volumes:
– /home/user/webdev/drupal-test/htmlroot:/var/www/html
mysql-server:
image: mysql
environment:
MYSQL_DATABASE: drupal
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: drupal
MYSQL_PASSWORD: drupal
volumes:
– /home/user/webdev/drupal-test/mysql:/var/lib/mysql
tendremos que crear el directorio drupal-test y los subdirectorios mysql y htmlroot en el directorio de trabajo. Con esto mantenemos los cambios al destruir los containers.
6- Arrancamos los dos containers docker, el servidor web y mysql.
#docker-compose up -d
7- Con los containers levantados entramos en el container web para instalar drupal via drush.
#docker-compose exec drupal-web bash
8- Ya dentro del container ejecutamos los comandos de instalación drupal.
$drush dl drupal
$cd drupal-x.x.x
$drush site-install standard –db-url=mysql://drupal:drupal@mysql/drupal
$exit
#chown -R www-data:www-data /directoriotrabajo/drupal-test/htmlroot/drupal-x.x.x/sites
9- Cambiar la contraseña del usuario admin entrando en la web del container.
http://localhost:8080/drupal-x.x.x
10- Por último, para parar los containers y liberar memoria ejecutamos la orden correspondiente.
#docker-compose stop
Me gusta esto:
Me gusta Cargando...