Avoid duplicating Dockerfiles for each architecture
- Use build args instead of duplicating the Dockerfile - Upgrade to Alpine Linux 3.11
This commit is contained in:
parent
d983c113da
commit
cce083a8ed
|
|
@ -1,4 +1,6 @@
|
|||
FROM alpine:3.10.3
|
||||
ARG BASE_IMAGE_ARCH="amd64"
|
||||
|
||||
FROM ${BASE_IMAGE_ARCH}/alpine:3.11
|
||||
|
||||
VOLUME /var/www/app/data
|
||||
VOLUME /var/www/app/plugins
|
||||
|
|
|
|||
|
|
@ -1,24 +0,0 @@
|
|||
FROM arm32v6/alpine:3.10.3
|
||||
|
||||
VOLUME /var/www/app/data
|
||||
VOLUME /var/www/app/plugins
|
||||
VOLUME /etc/nginx/ssl
|
||||
|
||||
EXPOSE 80 443
|
||||
|
||||
ARG VERSION
|
||||
|
||||
RUN apk --no-cache --update add openssl unzip nginx bash ca-certificates s6 curl ssmtp mailx php7 php7-phar php7-curl \
|
||||
php7-fpm php7-json php7-zlib php7-xml php7-dom php7-ctype php7-opcache php7-zip php7-iconv \
|
||||
php7-pdo php7-pdo_mysql php7-pdo_sqlite php7-pdo_pgsql php7-mbstring php7-session php7-bcmath \
|
||||
php7-gd php7-mcrypt php7-openssl php7-sockets php7-posix php7-ldap php7-simplexml && \
|
||||
rm -rf /var/www/localhost && \
|
||||
rm -f /etc/php7/php-fpm.d/www.conf
|
||||
|
||||
ADD . /var/www/app
|
||||
ADD docker/ /
|
||||
|
||||
RUN rm -rf /var/www/app/docker && echo $VERSION > /version.txt
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
||||
CMD []
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
FROM arm32v7/alpine:3.10.3
|
||||
|
||||
VOLUME /var/www/app/data
|
||||
VOLUME /var/www/app/plugins
|
||||
VOLUME /etc/nginx/ssl
|
||||
|
||||
EXPOSE 80 443
|
||||
|
||||
ARG VERSION
|
||||
|
||||
RUN apk --no-cache --update add openssl unzip nginx bash ca-certificates s6 curl ssmtp mailx php7 php7-phar php7-curl \
|
||||
php7-fpm php7-json php7-zlib php7-xml php7-dom php7-ctype php7-opcache php7-zip php7-iconv \
|
||||
php7-pdo php7-pdo_mysql php7-pdo_sqlite php7-pdo_pgsql php7-mbstring php7-session php7-bcmath \
|
||||
php7-gd php7-mcrypt php7-openssl php7-sockets php7-posix php7-ldap php7-simplexml && \
|
||||
rm -rf /var/www/localhost && \
|
||||
rm -f /etc/php7/php-fpm.d/www.conf
|
||||
|
||||
ADD . /var/www/app
|
||||
ADD docker/ /
|
||||
|
||||
RUN rm -rf /var/www/app/docker && echo $VERSION > /version.txt
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
||||
CMD []
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
FROM arm64v8/alpine:3.10.3
|
||||
|
||||
VOLUME /var/www/app/data
|
||||
VOLUME /var/www/app/plugins
|
||||
VOLUME /etc/nginx/ssl
|
||||
|
||||
EXPOSE 80 443
|
||||
|
||||
ARG VERSION
|
||||
|
||||
RUN apk --no-cache --update add openssl unzip nginx bash ca-certificates s6 curl ssmtp mailx php7 php7-phar php7-curl \
|
||||
php7-fpm php7-json php7-zlib php7-xml php7-dom php7-ctype php7-opcache php7-zip php7-iconv \
|
||||
php7-pdo php7-pdo_mysql php7-pdo_sqlite php7-pdo_pgsql php7-mbstring php7-session php7-bcmath \
|
||||
php7-gd php7-mcrypt php7-openssl php7-sockets php7-posix php7-ldap php7-simplexml && \
|
||||
rm -rf /var/www/localhost && \
|
||||
rm -f /etc/php7/php-fpm.d/www.conf
|
||||
|
||||
ADD . /var/www/app
|
||||
ADD docker/ /
|
||||
|
||||
RUN rm -rf /var/www/app/docker && echo $VERSION > /version.txt
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
||||
CMD []
|
||||
8
Makefile
8
Makefile
|
|
@ -69,10 +69,10 @@ docker-image:
|
|||
|
||||
docker-manifest:
|
||||
for version in $(VERSION) latest; do \
|
||||
docker build --build-arg VERSION=$(VERSION) -t $(DOCKER_IMAGE):amd64-$${version} -f Dockerfile . && \
|
||||
docker build --build-arg VERSION=$(VERSION) -t $(DOCKER_IMAGE):arm32v6-$${version} -f Dockerfile.arm32v6 . && \
|
||||
docker build --build-arg VERSION=$(VERSION) -t $(DOCKER_IMAGE):arm32v7-$${version} -f Dockerfile.arm32v7 . && \
|
||||
docker build --build-arg VERSION=$(VERSION) -t $(DOCKER_IMAGE):arm64v8-$${version} -f Dockerfile.arm64v8 . && \
|
||||
docker build --build-arg VERSION=$(VERSION) --build-arg BASE_IMAGE_ARCH=amd64 -t $(DOCKER_IMAGE):amd64-$${version} . && \
|
||||
docker build --build-arg VERSION=$(VERSION) --build-arg BASE_IMAGE_ARCH=arm32v6 -t $(DOCKER_IMAGE):arm32v6-$${version} . && \
|
||||
docker build --build-arg VERSION=$(VERSION) --build-arg BASE_IMAGE_ARCH=arm32v7 -t $(DOCKER_IMAGE):arm32v7-$${version} . && \
|
||||
docker build --build-arg VERSION=$(VERSION) --build-arg BASE_IMAGE_ARCH=arm64v8 -t $(DOCKER_IMAGE):arm64v8-$${version} . && \
|
||||
docker push $(DOCKER_IMAGE):amd64-$${version} && \
|
||||
docker push $(DOCKER_IMAGE):arm32v6-$${version} && \
|
||||
docker push $(DOCKER_IMAGE):arm32v7-$${version} && \
|
||||
|
|
|
|||
Loading…
Reference in New Issue