From 87f8800a8e30fb0d089e20938d0d2afce2543d43 Mon Sep 17 00:00:00 2001 From: maciejkosiarski Date: Fri, 9 Oct 2020 11:15:43 +0200 Subject: [PATCH] Update docker files, upgrade php to 7.4 --- .docker/Dockerfile | 37 ++++++++++ .docker/config/php-ini-overrides.ini.dist | 10 +++ .docker/docker-compose.yml | 21 ++++++ Dockerfile | 89 ----------------------- docker-compose.yml | 38 ---------- 5 files changed, 68 insertions(+), 127 deletions(-) create mode 100644 .docker/Dockerfile create mode 100644 .docker/config/php-ini-overrides.ini.dist create mode 100644 .docker/docker-compose.yml delete mode 100644 Dockerfile delete mode 100644 docker-compose.yml diff --git a/.docker/Dockerfile b/.docker/Dockerfile new file mode 100644 index 0000000..07a8070 --- /dev/null +++ b/.docker/Dockerfile @@ -0,0 +1,37 @@ +FROM php:7.4.0-fpm + +ARG DEV_USER_UID=1000 + +RUN apt-get update && apt-get install -y zsh vim figlet git nano && \ + curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ + curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar && \ + cp phpcs.phar /usr/local/bin/phpcs && \ + chmod +x /usr/local/bin/phpcs && \ + curl -OL https://cs.symfony.com/download/php-cs-fixer-v2.phar && \ + cp php-cs-fixer-v2.phar /usr/local/bin/phpcsfixer && \ + chmod +x /usr/local/bin/phpcsfixer && \ + curl -OL https://github.com/phpmd/phpmd/releases/download/2.7.0/phpmd.phar && \ + cp phpmd.phar /usr/local/bin/phpmd && \ + chmod +x /usr/local/bin/phpmd && \ + curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar && \ + cp phpcbf.phar /usr/local/bin/phpcbf && \ + chmod +x /usr/local/bin/phpcbf && \ + phpcs --config-set default_standard PSR2 && \ + phpcs --config-set report_format summary && \ + phpcs --config-set show_progress 1 && \ + phpcs --config-set colors 1 && \ + pecl install xdebug && \ + docker-php-ext-enable xdebug && \ + cp /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini && \ + rm -rf /var/lib/apt/lists/* && \ + pecl clear-cache && \ + pecl config-set php_ini /usr/local/etc/php/conf.d/over.ini + +RUN useradd -m -s /bin/bash developer + +RUN echo "su - developer" > /root/.bashrc +#USER developer +#RUN bash -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" "" --unattended +#RUN curl -o ~/.zshrc https://raw.githubusercontent.com/adrianmalec/my-elementary-os/master/universal-zshrc + +WORKDIR "/application" diff --git a/.docker/config/php-ini-overrides.ini.dist b/.docker/config/php-ini-overrides.ini.dist new file mode 100644 index 0000000..719fe07 --- /dev/null +++ b/.docker/config/php-ini-overrides.ini.dist @@ -0,0 +1,10 @@ +memory_limit = -1 +upload_max_filesize = 100M +post_max_size = 108M + +xdebug.remote_enable = true +xdebug.remote_host = DOCKER_GATEWAY +xdebug.remote_port = 9001 +xdebug.idekey = PHPSTORM +xdebug.remote_autostart = true +xdebug.remote_connect_back = true diff --git a/.docker/docker-compose.yml b/.docker/docker-compose.yml new file mode 100644 index 0000000..e0869b0 --- /dev/null +++ b/.docker/docker-compose.yml @@ -0,0 +1,21 @@ +############################################################################### +# JWT Keeper # +############################################################################### +version: "3.7" +services: + jwtkeeper-php-fpm: + build: . + container_name: jwtkeeper-php-fpm + restart: on-failure + user: developer + tty: true + volumes: + - ~/.ssh:/home/developer/.ssh + - ../:/application + - ./config/php-ini-overrides.ini.dist:/usr/local/etc/php/conf.d/99-overrides.ini + networks: + jwtkeeper: + aliases: + - core +networks: + jwtkeeper: diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 59f3da8..0000000 --- a/Dockerfile +++ /dev/null @@ -1,89 +0,0 @@ -FROM php:7.3-rc-apache - -ARG DEV_USER_UID=1000 - -RUN apt-get update -RUN apt-get upgrade -y -RUN apt-get install -y --no-install-recommends \ - curl \ - git \ - htop \ - libfreetype6-dev \ - libicu-dev \ - libjpeg62-turbo-dev \ - libmcrypt-dev \ - libmemcached-dev \ - libpq-dev \ - libxslt-dev \ - libzip-dev \ - nano \ - openssh-client \ - sudo \ - unzip \ - wget -RUN rm -r /var/lib/apt/lists/* - -RUN pecl channel-update pecl.php.net - -RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/lib/x86_64-linux-gnu/libjpeg.so - -RUN docker-php-ext-install -j$(nproc) bcmath -RUN docker-php-ext-install -j$(nproc) gd -RUN docker-php-ext-install -j$(nproc) intl -RUN docker-php-ext-install -j$(nproc) mysqli -RUN docker-php-ext-install -j$(nproc) opcache -RUN docker-php-ext-install -j$(nproc) pcntl -RUN docker-php-ext-install -j$(nproc) pdo_mysql -RUN docker-php-ext-install -j$(nproc) pdo_pgsql -RUN docker-php-ext-install -j$(nproc) soap -RUN docker-php-ext-install -j$(nproc) sockets -RUN docker-php-ext-install -j$(nproc) zip - -RUN pecl install ast -RUN pecl install mcrypt-1.0.1 -#RUN pecl install memcached -RUN pecl install mongodb -RUN pecl install redis -RUN pecl install xdebug-2.7.0beta1 - -RUN docker-php-ext-enable ast -RUN docker-php-ext-enable mcrypt -#RUN docker-php-ext-enable memcached -RUN docker-php-ext-enable mongodb -RUN docker-php-ext-enable redis - -RUN curl -LsS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer -RUN curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony && chmod a+x /usr/local/bin/symfony -RUN curl -LSs https://box-project.github.io/box2/installer.php | php && mv box.phar /usr/local/bin/box -RUN curl -LsS https://robo.li/robo.phar -o /usr/local/bin/robo && chmod +x /usr/local/bin/robo -RUN curl -LsS https://deployer.org/deployer.phar -o /usr/local/bin/dep && chmod +x /usr/local/bin/dep - -RUN curl -LsS https://phar.phpunit.de/phpunit-7.phar -o /usr/local/bin/phpunit7 && chmod +x /usr/local/bin/phpunit7 -RUN ln -s /usr/local/bin/phpunit7 /usr/local/bin/phpunit - -RUN curl -LsS https://www.phing.info/get/phing-2.16.1.phar -o /usr/local/bin/phing2 && chmod +x /usr/local/bin/phing2 -RUN curl -LsS https://www.phing.info/get/phing-3.0.0-alpha1.phar -o /usr/local/bin/phing3 && chmod +x /usr/local/bin/phing3 -RUN ln -s /usr/local/bin/phing2 /usr/local/bin/phing - -RUN printf "alias l='ls -CF'\nalias la='ls -A'\nalias ll='ls -alF'\n" >> /etc/bash.bashrc -RUN printf "if [ -d \"\$HOME/.composer/vendor/bin\" ]; then\n PATH=\"\$HOME/.composer/vendor/bin:\$PATH\"\nfi\n" >> /etc/bash.bashrc - -RUN printf "export APACHE_RUN_USER=dev\nexport APACHE_RUN_GROUP=dev\n" >> /etc/apache2/envvars - -ADD rootfs / - -RUN adduser --disabled-password --gecos '' --uid ${DEV_USER_UID} dev \ - && adduser dev sudo \ - && printf "dev ALL=(ALL) NOPASSWD: ALL\n" > /etc/sudoers.d/dev - -RUN chown -R dev:dev /www /var/lock/apache2 /var/log/apache2 - -RUN a2enmod rewrite && a2enmod vhost_alias && a2enconf vhost-alias - -USER dev - -VOLUME /www -WORKDIR /www - -EXPOSE 80 -CMD ["sudo", "apache2-foreground"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index c437fc3..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,38 +0,0 @@ -version: '3' - -services: -# dev56: -# container_name: 'dev56' -# image: 'gander/dev:5.6' -# volumes: -# - '.:/www' -# ports: -# - '8056:80' -# dev70: -# container_name: 'dev70' -# image: 'gander/dev:7.0' -# volumes: -# - '.:/www' -# ports: -# - '8070:80' -# dev71: -# container_name: 'dev71' -# image: 'gander/dev:7.1' -# volumes: -# - '.:/www' -# ports: -# - '8071:80' -# dev72: -# container_name: 'dev72' -# image: 'gander/dev:7.2' -# volumes: -# - '.:/www' -# ports: -# - '8072:80' - dev73: - container_name: 'dev73' - image: 'gander/dev:7.3' - volumes: - - '.:/www' - ports: - - '8073:80' \ No newline at end of file