|
@@ -10,35 +10,24 @@ RUN apt-get update -yqq && \
|
|
apt-get install -yqq libicu-dev git unzip > /dev/null && \
|
|
apt-get install -yqq libicu-dev git unzip > /dev/null && \
|
|
docker-php-ext-install pdo_mysql opcache intl > /dev/null
|
|
docker-php-ext-install pdo_mysql opcache intl > /dev/null
|
|
|
|
|
|
-RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
|
|
|
|
|
+COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
|
|
|
|
|
|
COPY deploy/swoole/php.ini /usr/local/etc/php/
|
|
COPY deploy/swoole/php.ini /usr/local/etc/php/
|
|
-WORKDIR /symfony
|
|
|
|
-ADD ./composer.json /symfony/
|
|
|
|
-RUN mkdir -m 777 -p /symfony/var/cache/swoole /symfony/var/log
|
|
|
|
-RUN COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --no-scripts
|
|
|
|
-
|
|
|
|
-# downgrade to doctrine-dbal 2.12 => due to a bug in version 2.13
|
|
|
|
-# see https://github.com/doctrine/dbal/issues/4603
|
|
|
|
-#RUN composer require doctrine/orm:2.8.5 -W
|
|
|
|
-#RUN composer require doctrine/dbal:2.12.x -W
|
|
|
|
|
|
|
|
ADD . /symfony
|
|
ADD . /symfony
|
|
-RUN COMPOSER_ALLOW_SUPERUSER=1 composer require "k911/swoole-bundle:^0.10" --no-scripts --with-all-dependencies
|
|
|
|
-RUN COMPOSER_ALLOW_SUPERUSER=1 composer dump-autoload --no-dev --classmap-authoritative
|
|
|
|
-RUN COMPOSER_ALLOW_SUPERUSER=1 composer dump-env swoole
|
|
|
|
|
|
+WORKDIR /symfony
|
|
|
|
+RUN mkdir -m 777 -p /symfony/var/cache/{dev,prod} /symfony/var/log
|
|
|
|
+#RUN mkdir -m 777 -p /symfony/var/cache/swoole /symfony/var/log
|
|
|
|
+RUN COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --no-scripts --quiet
|
|
|
|
|
|
-# removes hardcoded option `ATTR_STATEMENT_CLASS` conflicting with `ATTR_PERSISTENT`. Hack not needed when upgrading to Doctrine 3
|
|
|
|
-# see https://github.com/doctrine/dbal/issues/2315
|
|
|
|
-#RUN sed -i '/PDO::ATTR_STATEMENT_CLASS/d' ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php
|
|
|
|
|
|
+ENV APP_RUNTIME=Runtime\\Swoole\\Runtime
|
|
|
|
+RUN composer require runtime/swoole
|
|
|
|
|
|
-# Force debug=0 because env is not "prod"
|
|
|
|
-ENV APP_DEBUG=0
|
|
|
|
|
|
+RUN COMPOSER_ALLOW_SUPERUSER=1 composer dump-autoload --no-dev --classmap-authoritative
|
|
|
|
+RUN COMPOSER_ALLOW_SUPERUSER=1 composer dump-env prod
|
|
|
|
|
|
-RUN php bin/console cache:clear
|
|
|
|
-RUN echo "opcache.preload=/symfony/var/cache/swoole/App_KernelSwooleContainer.preload.php" >> /usr/local/etc/php/php.ini
|
|
|
|
|
|
+#ENV APP_DEBUG=1
|
|
|
|
|
|
EXPOSE 8080
|
|
EXPOSE 8080
|
|
|
|
|
|
-USER www-data
|
|
|
|
-CMD php bin/console swoole:server:run
|
|
|
|
|
|
+CMD php /symfony/public/swoole.php
|