|
1 |
| -FROM alpine:3.9 |
| 1 | +FROM ubuntu:19.10 |
2 | 2 |
|
3 | 3 | ENV TIMEZONE Asia/Shanghai
|
4 | 4 | ENV WWWROOT /home/wwwroot/default
|
5 | 5 |
|
| 6 | +RUN ln -snf /usr/share/zoneinfo/$TIMEZONE /etc/localtime && echo $TIMEZONE > /etc/timezone |
| 7 | + |
6 | 8 | RUN mkdir -p ${WWWROOT} && \
|
7 | 9 | mkdir -p /run/nginx && \
|
8 | 10 | mkdir /var/log/supervisor && \
|
9 |
| - mkdir /home/nobody && chown -R nobody.nobody /home/nobody && \ |
10 |
| - sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \ |
| 11 | + mkdir /home/nobody && chown -R nobody:nogroup /home/nobody && \ |
11 | 12 | sed -ri 's#^(nobody:.*)?:/:(.*)#\1:/home/nobody:\2#g' /etc/passwd
|
12 | 13 |
|
13 |
| -RUN apk update && \ |
14 |
| - apk add --no-cache tzdata && \ |
15 |
| - cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime && \ |
16 |
| - echo "${TIMEZONE}" > /etc/timezone && \ |
17 |
| - apk add --no-cache supervisor nginx php7 php7-fpm php7-common php7-gd \ |
18 |
| - php7-json php7-curl php7-mbstring php7-iconv php7-opcache \ |
19 |
| - graphviz python3 py3-numpy py3-pillow librsvg py3-cffi && \ |
20 |
| - sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php7/php-fpm.conf && \ |
21 |
| - sed -i "s|;date.timezone =.*|date.timezone = ${TIMEZONE}|" /etc/php7/php.ini && \ |
22 |
| - rm -rf /var/cache/apk/* |
| 14 | +# nginx + php |
| 15 | +RUN apt-get update && \ |
| 16 | + apt-get install --no-install-recommends -y supervisor nginx php7.3 php7.3-fpm php7.3-gd \ |
| 17 | + php7.3-json php7.3-curl php7.3-mbstring php7.3-iconv php7.3-opcache && \ |
| 18 | + rm -fr /var/cache/apt/* |
| 19 | +RUN sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php/7.3/fpm/php-fpm.conf && \ |
| 20 | + sed -i "s|;date.timezone =.*|date.timezone = ${TIMEZONE}|" /etc/php/7.3/fpm/php.ini |
| 21 | + |
| 22 | +# graphviz asymptote wkhtmltopdf |
| 23 | +RUN apt-get update && \ |
| 24 | + apt-get install --no-install-recommends -y graphviz asymptote wkhtmltopdf && \ |
| 25 | + rm -fr /var/cache/apt/* |
23 | 26 |
|
24 |
| -# asymptote |
25 |
| -RUN apk add --no-cache gsl-dev freeglut-dev gc-dev fftw-dev \ |
26 |
| - texlive texlive-xetex texlive-dvi ghostscript texmf-dist-latexextra;true && \ |
27 |
| - rm -rf /var/cache/apk/* |
28 |
| -RUN apk add --no-cache --virtual .build-deps git build-base bison flex zlib-dev autoconf && \ |
29 |
| - cd /root && \ |
30 |
| - wget https://github.com/vectorgraphics/asymptote/archive/2.44.tar.gz && \ |
31 |
| - tar zxvf 2.44.tar.gz && \ |
32 |
| - cd asymptote-2.44 && \ |
33 |
| - sed -i "s/#define HAVE_FEENABLEEXCEPT/\/\/#define HAVE_FEENABLEEXCEPT/g" fpu.h && \ |
34 |
| - ./autogen.sh && \ |
35 |
| - ./configure && \ |
36 |
| - make asy && \ |
37 |
| - make asy-keywords.el && \ |
38 |
| - make install-asy && \ |
39 |
| - cd ../ && rm -fr asymptote* *.tar.gz && \ |
40 |
| - ln -s /usr/local/bin/asy /bin/asy && \ |
41 |
| - rm -rf /var/cache/apk/* && \ |
42 |
| - apk del .build-deps |
| 27 | +# python3 |
| 28 | +RUN apt-get update && \ |
| 29 | + apt-get install --no-install-recommends -y python3 python3-numpy python3-pillow librsvg2-bin python3-cffi python3-pip python3-setuptools && \ |
| 30 | + rm -rf /var/cache/apt/* |
43 | 31 |
|
44 | 32 |
|
45 |
| -COPY conf/pip.conf /root/.pip/pip.conf |
46 | 33 | RUN pip3 install myqr blockdiag racovimge cairocffi
|
47 | 34 |
|
48 |
| -COPY conf/default.conf /etc/nginx/conf.d/ |
| 35 | +COPY conf/default.conf /etc/nginx/sites-enabled/default |
49 | 36 | COPY conf/supervisord.conf /etc/supervisord.conf
|
50 | 37 | COPY conf/.blockdiagrc /home/nobody/.blockdiagrc
|
51 | 38 | COPY conf/rsvg /usr/bin/rsvg
|
52 | 39 |
|
53 | 40 | RUN chmod +x /usr/bin/rsvg
|
54 | 41 |
|
55 |
| -# wkhtmltoimage |
56 |
| -RUN apk add --no-cache wkhtmltopdf |
| 42 | +COPY conf/www.conf /etc/php/7.3/fpm/pool.d/www.conf |
| 43 | +RUN mkdir /run/php |
57 | 44 |
|
58 | 45 | # 更新代码
|
59 |
| -RUN chown -R nginx.nginx ${WWWROOT} |
| 46 | +RUN chown -R www-data:www-data ${WWWROOT} |
60 | 47 | COPY *.php ${WWWROOT}/
|
61 | 48 | COPY libs ${WWWROOT}/libs
|
62 | 49 | COPY functions ${WWWROOT}/functions
|
|
0 commit comments