Compare commits
6 Commits
3e0fc4fd53
...
f9622e8081
Author | SHA1 | Date | |
---|---|---|---|
f9622e8081 | |||
75bd2407b9 | |||
19ac61425c | |||
f342efdabf | |||
fd60603728 | |||
9becfcc03c |
40
Dockerfile
40
Dockerfile
@ -1,10 +1,21 @@
|
|||||||
FROM alpine:3.18.2
|
# Stage 1: Build Nginx
|
||||||
|
FROM alpine:3.18.4 as builder
|
||||||
|
|
||||||
# Install dependencies
|
# Install build dependencies and required tools
|
||||||
RUN apk update && \
|
RUN apk update && apk upgrade && \
|
||||||
apk upgrade && \
|
apk add --no-cache php81 php81-fpm php81-gd build-base pcre-dev openssl-dev zlib-dev linux-headers
|
||||||
apk add --no-cache nginx php81 php81-fpm php81-gd && \
|
|
||||||
rm -rf /var/cache/apk/*
|
# Download and build the latest version of Nginx from source
|
||||||
|
WORKDIR /tmp
|
||||||
|
RUN wget https://nginx.org/download/nginx-1.25.2.tar.gz
|
||||||
|
RUN tar -xzvf nginx-1.25.2.tar.gz
|
||||||
|
WORKDIR /tmp/nginx-1.25.2
|
||||||
|
RUN ./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/sbin/nginx --conf-path=/etc/nginx/nginx.conf
|
||||||
|
RUN make
|
||||||
|
RUN make install
|
||||||
|
|
||||||
|
# Cleanup unnecessary files
|
||||||
|
RUN rm -rf /tmp/*
|
||||||
|
|
||||||
# Set up nginx
|
# Set up nginx
|
||||||
COPY ./docker/nginx.conf /etc/nginx/nginx.conf
|
COPY ./docker/nginx.conf /etc/nginx/nginx.conf
|
||||||
@ -13,5 +24,22 @@ COPY ./docker/nginx.conf /etc/nginx/nginx.conf
|
|||||||
COPY ./upload.php /tmp/upload.php
|
COPY ./upload.php /tmp/upload.php
|
||||||
COPY ./docker/start.sh /start.sh
|
COPY ./docker/start.sh /start.sh
|
||||||
|
|
||||||
|
# Stage 2: Create a smaller image
|
||||||
|
FROM alpine:3.18.4
|
||||||
|
|
||||||
|
# Copy Nginx and PHP-FPM binaries and configurations from the builder stage
|
||||||
|
COPY --from=builder /usr/local/nginx /usr/local/nginx
|
||||||
|
COPY --from=builder /etc/nginx /etc/nginx
|
||||||
|
COPY --from=builder /etc/php81 /etc/php81
|
||||||
|
COPY --from=builder /tmp/upload.php /tmp/upload.php
|
||||||
|
COPY --from=builder /start.sh /start.sh
|
||||||
|
|
||||||
|
# Install runtime dependencies
|
||||||
|
RUN apk update && apk upgrade && \
|
||||||
|
apk add --no-cache php81 php81-fpm php81-gd
|
||||||
|
|
||||||
|
# Cleanup unnecessary files
|
||||||
|
RUN rm -rf /var/cache/apk/*
|
||||||
|
|
||||||
# Start server
|
# Start server
|
||||||
CMD ["sh", "/start.sh"]
|
CMD ["sh", "/start.sh"]
|
@ -41,7 +41,7 @@ function start() {
|
|||||||
echo "Starting PHP & Nginx"
|
echo "Starting PHP & Nginx"
|
||||||
php-fpm81 &&
|
php-fpm81 &&
|
||||||
chmod 777 /run/php/php.sock &&
|
chmod 777 /run/php/php.sock &&
|
||||||
nginx -g 'daemon off;'
|
/usr/local/sbin/nginx -g 'daemon off;'
|
||||||
}
|
}
|
||||||
|
|
||||||
# Start Nginx and retry if it fails
|
# Start Nginx and retry if it fails
|
||||||
|
Loading…
Reference in New Issue
Block a user