Skip to content

Commit 338121f

Browse files
authored
Merge pull request #7 from bandsintown/v8.1.2-fpm
V8.1.2 fpm
2 parents bf9e93f + 26df7d1 commit 338121f

5 files changed

Lines changed: 156 additions & 1 deletion

File tree

bin/php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ has_item "$command" "${!valid_commands[@]}" || help
164164

165165
cd $BASE_DIR
166166

167-
VERSIONS=($(ls $BASE_DIR/versions))
167+
VERSIONS=($(ls $BASE_DIR/latest-versions))
168168
IMAGE="bandsintown/$(basename $0)"
169169
IMAGE_TEST="$IMAGE-test"
170170
BUILD_NUM="$(git rev-parse --short HEAD)"
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
FROM bandsintown/alpine:3.15.0 as builder
2+
3+
FROM php:8.1.2-fpm-alpine
4+
5+
ENV S6_LOGGING=1 S6_OVERLAY_VERSION=1.19.1.1 GODNSMASQ_VERSION=1.0.7 CONSUL_TEMPLATE_VERSION=0.19.4 CONSUL_VERSION=0.8.4 MEMCACHED_DEPS="zlib-dev libmemcached-dev cyrus-sasl-dev" TZ="America/New_York"
6+
7+
COPY --from=builder /usr/local/bin/consul /usr/local/bin/consul
8+
COPY --from=builder /usr/local/bin/consul-template /usr/local/bin/consul-template
9+
COPY --from=builder /usr/sbin/go-dnsmasq /usr/sbin/go-dnsmasq
10+
COPY --from=builder /etc/cont-init.d /etc/cont-init.d
11+
COPY --from=builder /etc/services.d /etc/services.d
12+
COPY --from=builder /root /root
13+
14+
RUN apk update && apk upgrade \
15+
&& apk add --update \
16+
coreutils \
17+
freetype-dev \
18+
libjpeg-turbo-dev \
19+
libltdl \
20+
libpng-dev \
21+
curl wget bash tree jq bind-tools su-exec build-base gcc autoconf \
22+
libmemcached-libs zlib \
23+
runc \
24+
&& set -xe \
25+
&& apk add --virtual .phpize-deps $PHPIZE_DEPS \
26+
&& apk add --virtual .memcached-deps $MEMCACHED_DEPS \
27+
&& pecl install memcached-3.1.4 \
28+
&& echo "extension=memcached.so" > /usr/local/etc/php/conf.d/20_memcached.ini \
29+
&& pecl install memcache \
30+
&& echo "extension=memcache.so" > /usr/local/etc/php/conf.d/21_memcache.ini \
31+
&& docker-php-ext-install mysqli \
32+
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
33+
&& docker-php-ext-install -j$(nproc) gd \
34+
&& rm -rf /usr/share/php8 \
35+
&& rm -rf /tmp/* \
36+
&& apk del .memcached-deps .phpize-deps
37+
38+
RUN curl -Ls https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-amd64.tar.gz | tar -xz -C /
39+
40+
RUN mkdir /var/composer && \
41+
cd /var/composer && \
42+
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
43+
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" && \
44+
php composer-setup.php --install-dir=/usr/bin --filename=composer && \
45+
php -r "unlink('composer-setup.php');"
46+
47+
COPY rootfs /
48+
49+
RUN echo $TZ > /etc/timezone \
50+
&& touch /usr/local/var/run/php-fpm.pid \
51+
&& echo -ne "- with $(php -v | head -n 1)\n" >> /root/.built
52+
53+
EXPOSE 9000
54+
55+
# Workaround https://bugs.php.net/bug.php?id=71880
56+
ENV LOG_STREAM="/tmp/stdout"
57+
RUN mkfifo $LOG_STREAM && chmod 777 $LOG_STREAM
58+
59+
ENTRYPOINT ["/init"]
60+
CMD ["/bin/sh", "-c", "php-fpm --pid /usr/local/var/run/php-fpm.pid | tail -f $LOG_STREAM"]
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
FROM bandsintown/php:8.1.2-fpm
2+
3+
ENV BATS_VERSION=0.4.0 DOCKERIZE_VERSION=v0.2.0
4+
5+
COPY tests /tests
6+
WORKDIR /tests
7+
8+
RUN exec 2>&1 && apk add --update bind-tools bc jq \
9+
&& curl -Ls https://codeload.github.com/sstephenson/bats/zip/v$BATS_VERSION -o /tmp/bats.zip \
10+
&& cd /tmp \
11+
&& unzip -q bats.zip \
12+
&& ./bats-${BATS_VERSION}/install.sh /usr/local \
13+
&& ln -sf /usr/local/libexec/bats /usr/local/bin/bats \
14+
&& wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
15+
&& tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
16+
&& rm -f bats.zip dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz
17+
18+
CMD ["bash"]

versions/8.1.2-fpm/Dockerfile

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
FROM bandsintown/alpine:3.15.0 as builder
2+
3+
FROM php:8.1.2-fpm-alpine
4+
5+
ENV S6_LOGGING=1 S6_OVERLAY_VERSION=1.19.1.1 GODNSMASQ_VERSION=1.0.7 CONSUL_TEMPLATE_VERSION=0.19.4 CONSUL_VERSION=0.8.4 MEMCACHED_DEPS="zlib-dev libmemcached-dev cyrus-sasl-dev" TZ="America/New_York"
6+
7+
COPY --from=builder /usr/local/bin/consul /usr/local/bin/consul
8+
COPY --from=builder /usr/local/bin/consul-template /usr/local/bin/consul-template
9+
COPY --from=builder /usr/sbin/go-dnsmasq /usr/sbin/go-dnsmasq
10+
COPY --from=builder /etc/cont-init.d /etc/cont-init.d
11+
COPY --from=builder /etc/services.d /etc/services.d
12+
COPY --from=builder /root /root
13+
14+
RUN apk update && apk upgrade \
15+
&& apk add --update \
16+
coreutils \
17+
freetype-dev \
18+
libjpeg-turbo-dev \
19+
libltdl \
20+
libpng-dev \
21+
curl wget bash tree jq bind-tools su-exec build-base gcc autoconf \
22+
libmemcached-libs zlib \
23+
&& set -xe \
24+
&& apk add --virtual .phpize-deps $PHPIZE_DEPS \
25+
&& apk add --virtual .memcached-deps $MEMCACHED_DEPS \
26+
&& pecl install memcached-3.1.4 \
27+
&& echo "extension=memcached.so" > /usr/local/etc/php/conf.d/20_memcached.ini \
28+
&& pecl install memcache \
29+
&& echo "extension=memcache.so" > /usr/local/etc/php/conf.d/21_memcache.ini \
30+
&& docker-php-ext-install mysqli \
31+
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
32+
&& docker-php-ext-install -j$(nproc) gd \
33+
&& rm -rf /usr/share/php8 \
34+
&& rm -rf /tmp/* \
35+
&& apk del .memcached-deps .phpize-deps
36+
37+
RUN curl -Ls https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-amd64.tar.gz | tar -xz -C /
38+
39+
RUN mkdir /var/composer && \
40+
cd /var/composer && \
41+
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
42+
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" && \
43+
php composer-setup.php --install-dir=/usr/bin --filename=composer && \
44+
php -r "unlink('composer-setup.php');"
45+
46+
COPY rootfs /
47+
48+
RUN echo $TZ > /etc/timezone \
49+
&& touch /usr/local/var/run/php-fpm.pid \
50+
&& echo -ne "- with $(php -v | head -n 1)\n" >> /root/.built
51+
52+
EXPOSE 9000
53+
54+
# Workaround https://bugs.php.net/bug.php?id=71880
55+
ENV LOG_STREAM="/tmp/stdout"
56+
RUN mkfifo $LOG_STREAM && chmod 777 $LOG_STREAM
57+
58+
ENTRYPOINT ["/init"]
59+
CMD ["/bin/sh", "-c", "php-fpm --pid /usr/local/var/run/php-fpm.pid | tail -f $LOG_STREAM"]
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
FROM bandsintown/php:8.1.2-fpm
2+
3+
ENV BATS_VERSION=0.4.0 DOCKERIZE_VERSION=v0.2.0
4+
5+
COPY tests /tests
6+
WORKDIR /tests
7+
8+
RUN exec 2>&1 && apk add --update bind-tools bc jq \
9+
&& curl -Ls https://codeload.github.com/sstephenson/bats/zip/v$BATS_VERSION -o /tmp/bats.zip \
10+
&& cd /tmp \
11+
&& unzip -q bats.zip \
12+
&& ./bats-${BATS_VERSION}/install.sh /usr/local \
13+
&& ln -sf /usr/local/libexec/bats /usr/local/bin/bats \
14+
&& wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
15+
&& tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
16+
&& rm -f bats.zip dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz
17+
18+
CMD ["bash"]

0 commit comments

Comments
 (0)