ARG SKYAPM_PHP_VERSION
FROM skyapm/skywalking-php:master-${SKYAPM_PHP_VERSION}-fpm-alpine
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone \
&& apk del tzdata
COPY skywalking.ini /usr/local/etc/php/conf.d/ext-skywalking.ini
RUN sed -i 's/127.0.0.1:11800/$SKYWALKING_OAP/g' /usr/local/etc/php/conf.d/ext-skywalking.ini
RUN sed -i 's/MyProjectName/$PROJECT_NAME/g' /usr/local/etc/php/conf.d/ext-skywalking.ini
我自己的Dockerfile
ARG SKYAPM_PHP_VERSION FROM skyapm/skywalking-php:master-${SKYAPM_PHP_VERSION}-fpm-alpine RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone \ && apk del tzdata
COPY skywalking.ini /usr/local/etc/php/conf.d/ext-skywalking.ini RUN sed -i 's/127.0.0.1:11800/$SKYWALKING_OAP/g' /usr/local/etc/php/conf.d/ext-skywalking.ini RUN sed -i 's/MyProjectName/$PROJECT_NAME/g' /usr/local/etc/php/conf.d/ext-skywalking.ini
RUN apk --update add \ autoconf \ build-base \ linux-headers \ libaio-dev \ zlib-dev \ curl \ git \ coreutils \ freetype-dev \ libjpeg-turbo-dev \ libmcrypt-dev \ libpng-dev \ libtool \ libbz2 \ bzip2 \ bzip2-dev \ libstdc++ \ libxslt-dev \ openldap-dev \ imagemagick-dev \ libzip-dev \ make \ zip \ unzip \ wget \ libmemcached-dev \ boost-dev \ ca-certificates \ automake \ g++ \ file \ re2c \ pkgconf \ openssl \ openssl-dev \ curl-dev \ cmake \ go
RUN docker-php-ext-install \ bcmath \ pdo_mysql \ mysqli \ sockets \ && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ && docker-php-ext-install gd
ARG INSTALL_PCNTL=false RUN if [ ${INSTALL_PCNTL} = true ]; then \ docker-php-ext-install pcntl \ ;fi
ARG INSTALL_OPCACHE=false RUN if [ ${INSTALL_OPCACHE} = true ]; then \ docker-php-ext-install opcache \ ;fi
ARG INSTALL_ZIP=false RUN if [ ${INSTALL_ZIP} = true ]; then \ if [ ${PHP_VERSION} = "7.3" ] || [ ${PHP_VERSION} = "7.4" ]; then \ docker-php-ext-configure zip \ else \ docker-php-ext-configure zip --with-libzip \ ;fi \ && docker-php-ext-install zip \ ;fi
ARG INSTALL_REDIS=false ARG INSTALL_REDIS_VERSION RUN if [ ${INSTALL_REDIS} = true ]; then \ pecl install redis-${INSTALL_REDIS_VERSION} \ && rm /tmp/pear -rf \ && docker-php-ext-enable redis \ ;fi
ARG INSTALL_MONGODB=false ARG INSTALL_MONGODB_VERSION RUN if [ ${INSTALL_MONGODB} = true ]; then \ pecl install mongodb-${INSTALL_MONGODB_VERSION} \ && rm /tmp/pear -rf \ && docker-php-ext-enable mongodb \ ;fi
ARG INSTALL_MEMCACHED=false ARG INSTALL_MEMCACHED_VERSION RUN if [ ${INSTALL_MEMCACHED} = true ]; then \ pecl install memcached-${INSTALL_MEMCACHED_VERSION} \ && rm /tmp/pear -rf \ && docker-php-ext-enable memcached \ ;fi
ARG INSTALL_SWOOLE=false ARG INSTALL_SWOOLE_VERSION RUN if [ ${INSTALL_SWOOLE} = true ]; then \ pecl install swoole-${INSTALL_SWOOLE_VERSION} \ && rm /tmp/pear -rf \ && docker-php-ext-enable swoole \ ;fi
ARG INSTALL_COMPOSER=false RUN if [ ${INSTALL_COMPOSER} = true ]; then \ curl -sS http://getcomposer.org/installer | php \ && mv ./composer.phar /usr/local/bin/composer \ && composer config -g repo.packagist composer https://mirrors.aliyun.com/composer \ ;fi
RUN apk del build-base \ linux-headers \ libaio-dev \ && rm -rf /var/cache/apk/*
VOLUME /var/www WORKDIR /var/www
ADD crontabfile /etc/cron.d/gateway-cron RUN chmod 0644 /etc/cron.d/gateway-cron \ && mkdir -p /var/log/crond/ \ && chmod -R 757 /var/log/crond/ \ && crontab /etc/cron.d/gateway-cron
EXPOSE 9001 CMD crond ; php-fpm