-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
80 lines (70 loc) · 2.53 KB
/
Dockerfile
File metadata and controls
80 lines (70 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
FROM php:7.4-alpine
RUN echo "upload_max_filesize = 1028M" >> /usr/local/etc/php/conf.d/0-upload_large_dumps.ini \
&& echo "post_max_size = 128M" >> /usr/local/etc/php/conf.d/0-upload_large_dumps.ini \
&& echo "memory_limit = 1G" >> /usr/local/etc/php/conf.d/0-upload_large_dumps.ini \
&& echo "max_execution_time = 600" >> /usr/local/etc/php/conf.d/0-upload_large_dumps.ini \
&& echo "max_input_vars = 5000" >> /usr/local/etc/php/conf.d/0-upload_large_dumps.ini
STOPSIGNAL SIGINT
RUN addgroup -S adminer \
&& adduser -S -G adminer adminer \
&& mkdir -p /var/www/html \
&& mkdir /var/www/html/plugins-enabled \
&& chown -R adminer:adminer /var/www/html
WORKDIR /var/www/html
RUN set -x \
&& apk add --no-cache --virtual .build-deps \
postgresql-dev \
sqlite-dev \
unixodbc-dev \
bash \
freetds-dev \
&& docker-php-ext-configure pdo_odbc --with-pdo-odbc=unixODBC,/usr \
&& docker-php-ext-install \
mysqli \
pdo_pgsql \
pdo_sqlite \
pdo_odbc \
pdo_dblib \
&& runDeps="$( \
scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \
| tr ',' '\n' \
| sort -u \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)" \
&& apk add --virtual .phpexts-rundeps $runDeps \
&& apk del --no-network .build-deps
RUN apk update && apk add gcc g++ \
make \
openssl \
openssl-dev \
make \
zlib-dev \
gdbm \
libsasl \
snappy \
openrc \
nano \
bash \
$PHPIZE_DEPS
# RUN docker-php-ext-install mongodb
RUN pecl install mongodb \
&& echo "extension=mongodb.so" > $PHP_INI_DIR/conf.d/mongo.ini
COPY *.php /var/www/html/
ENV ADMINER_VERSION 4.8.1
ENV ADMINER_DOWNLOAD_SHA256 2fd7e6d8f987b243ab1839249551f62adce19704c47d3d0c8dd9e57ea5b9c6b3
ENV ADMINER_COMMIT 1f173e18bdf0be29182e0d67989df56eadea4754
RUN set -x \
&& apk add --no-cache --virtual .build-deps git \
&& curl -fsSL "https://github.com/vrana/adminer/releases/download/v$ADMINER_VERSION/adminer-$ADMINER_VERSION.php" -o adminer.php \
&& echo "$ADMINER_DOWNLOAD_SHA256 adminer.php" |sha256sum -c - \
&& git clone --recurse-submodules=designs --depth 1 --shallow-submodules --branch "v$ADMINER_VERSION" https://github.com/vrana/adminer.git /tmp/adminer \
&& commit="$(git -C /tmp/adminer/ rev-parse HEAD)" \
&& [ "$commit" = "$ADMINER_COMMIT" ] \
&& cp -r /tmp/adminer/designs/ /tmp/adminer/plugins/ . \
&& rm -rf /tmp/adminer/ \
&& apk del --no-network .build-deps
COPY entrypoint.sh /usr/local/bin/
ENTRYPOINT [ "entrypoint.sh", "docker-php-entrypoint" ]
# USER adminer
CMD [ "php", "-S", "[::]:8080", "-t", "/var/www/html" ]
EXPOSE 8080