From d47ae46b2cbd719db967cd7b65812cea00c365bc Mon Sep 17 00:00:00 2001 From: devome Date: Wed, 17 Nov 2021 09:58:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=A0jar=E4=BC=9A=E5=9C=A8=E6=9F=90?= =?UTF-8?q?=E4=BA=9B=E6=83=85=E5=86=B5=E4=B8=8B=E8=87=AA=E5=8A=A8=E9=80=80?= =?UTF-8?q?=E5=87=BA=EF=BC=8C=E6=95=85=E5=88=87=E6=8D=A2=E4=B8=BAs6-overla?= =?UTF-8?q?y=E6=9D=A5=E5=90=AF=E5=8A=A8jar=EF=BC=8C=E4=BC=9A=E5=9C=A8?= =?UTF-8?q?=E5=AE=B9=E5=99=A8=E5=86=85jar=E9=80=80=E5=87=BA=E5=90=8E?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E9=87=8D=E5=90=AF=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dockerignore | 2 +- Dockerfile | 8 ++--- buildx.sh | 44 +++++++++++------------- entrypoint.sh | 4 --- s6-overlay/etc/services.d/nginxwebui/run | 4 +++ 5 files changed, 30 insertions(+), 32 deletions(-) delete mode 100755 entrypoint.sh create mode 100755 s6-overlay/etc/services.d/nginxwebui/run diff --git a/.dockerignore b/.dockerignore index ab14ee09..6aa34829 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,4 +1,4 @@ * !target/nginxWebUI-*.jar !Dockerfile -!entrypoint.sh +!s6-overlay diff --git a/Dockerfile b/Dockerfile index 3094dd54..c931447c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:s6-overlay +FROM alpine:3.14 ENV LANG=zh_CN.UTF-8 \ TZ=Asia/Shanghai \ PS1="\u@\h:\w \$ " @@ -13,7 +13,7 @@ RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories ttf-dejavu \ fontconfig \ tzdata \ - tini \ + s6-overlay \ acme.sh \ sqlite \ && fc-cache -f -v \ @@ -21,7 +21,7 @@ RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && echo "${TZ}" > /etc/timezone \ && rm -rf /var/cache/apk/* /tmp/* COPY target/nginxWebUI-*.jar /home/nginxWebUI.jar -COPY entrypoint.sh /usr/local/bin/entrypoint.sh +COPY s6-overlay / VOLUME ["/home/nginxWebUI"] -ENTRYPOINT ["tini", "entrypoint.sh"] +ENTRYPOINT ["/init"] diff --git a/buildx.sh b/buildx.sh index c91e46dc..04c1059f 100755 --- a/buildx.sh +++ b/buildx.sh @@ -4,12 +4,9 @@ ## 需要安装好docker-buildx:https://docs.docker.com/buildx/working-with-buildx/ ## 如需自动推送readme至dockerhub,需要安装docker-pushrm:https://github.com/christian-korneck/docker-pushrm ## Dockerfile同目录下运行此脚本 -## 如果在同目录下存在maven的镜像加速配置文件settings.xml,也会作为编译时的加速配置 - -set -o pipefail ## 基本信息 -repo="cym1102/nginxwebui" +repo="{$1:-cym1102}/nginxwebui" arch="linux/386,linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6,linux/ppc64le,linux/s390x" ver=$(cat pom.xml | grep -A1 nginxWebUI | grep version | grep -oP "\d+\.\d+\.\d+") echo "构建镜像:$repo" @@ -19,25 +16,26 @@ echo "构建版本:$ver" ## 编译jar文件 echo "3秒后开始编译jar文件..." sleep 3 -mvn clean package +mvn clean package && { -## 准备跨平台构建环境 -echo "准备跨平台构建环境" -docker pull tonistiigi/binfmt -docker run --privileged --rm tonistiigi/binfmt --install all -docker buildx create --name builder --use 2>/dev/null || docker buildx use builder -docker buildx inspect --bootstrap + ## 准备跨平台构建环境 + echo "准备跨平台构建环境" + docker pull tonistiigi/binfmt + docker run --privileged --rm tonistiigi/binfmt --install all + docker buildx create --name builder --use 2>/dev/null || docker buildx use builder + docker buildx inspect --bootstrap -## 多平台镜像同时构建并推送 -echo "构建镜像并推送至Docker Hub" -docker buildx build \ - --cache-from "type=local,src=/tmp/.buildx-cache" \ - --cache-to "type=local,dest=/tmp/.buildx-cache" \ - --platform "$arch" \ - --tag ${repo}:${ver} \ - --tag ${repo}:latest \ - --push \ - . + ## 多平台镜像同时构建并推送 + echo "构建镜像并推送至Docker Hub" + docker buildx build \ + --cache-from "type=local,src=/tmp/.buildx-cache" \ + --cache-to "type=local,dest=/tmp/.buildx-cache" \ + --platform "$arch" \ + --tag ${repo}:${ver} \ + --tag ${repo}:latest \ + --push \ + . -## 推送readme.md至dockerhub,需要docker-pushrm -# docker pushrm $repo + ## 推送readme.md至dockerhub,需要docker-pushrm + # docker pushrm $repo +} diff --git a/entrypoint.sh b/entrypoint.sh deleted file mode 100755 index de09fabc..00000000 --- a/entrypoint.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -cd /home -exec java -jar -Xmx64m nginxWebUI.jar "${BOOT_OPTIONS}" > /dev/null diff --git a/s6-overlay/etc/services.d/nginxwebui/run b/s6-overlay/etc/services.d/nginxwebui/run new file mode 100755 index 00000000..8280b029 --- /dev/null +++ b/s6-overlay/etc/services.d/nginxwebui/run @@ -0,0 +1,4 @@ +#!/usr/bin/with-contenv sh + +cd /home +exec java -jar -Xmx64m nginxWebUI.jar "${BOOT_OPTIONS}" 2>&1 >/dev/null -- Gitee