广告图片

ghcr.io/iflytek/skillhub-web:v0.2.2 linux/amd64

ghcr.io/iflytek/skillhub-web:v0.2.2 - 国内下载镜像源 浏览次数:8 yf 贡献同步

ghcr.io/iflytek/skillhub-web是科大讯飞SkillHub平台的前端Web应用容器镜像,用于部署SkillHub的前端服务,提供技能管理、展示等相关Web界面功能。

源镜像 ghcr.io/iflytek/skillhub-web:v0.2.2
国内镜像 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web:v0.2.2
镜像ID sha256:503b3ec2242754fc66d90f118855f1f9421362239588d7fd213675f243165075
镜像TAG v0.2.2
大小 63.69MB
镜像源 ghcr.io
CMD nginx -g daemon off;
启动入口 /docker-entrypoint.sh
工作目录 /
OS/平台 linux/amd64
浏览量 8 次
贡献者
avatar
yf
镜像创建 2026-04-02T10:01:12.336712052Z
同步时间 2026-04-09 08:43
开放端口
80/tcp
环境变量
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin NGINX_VERSION=1.29.7 PKG_RELEASE=1 DYNPKG_RELEASE=1 NJS_VERSION=0.9.6 NJS_RELEASE=1 ACME_VERSION=0.3.1
镜像标签
NGINX Docker Maintainers <docker-maint@nginx.com>: maintainer 2026-04-02T10:00:32.705Z: org.opencontainers.image.created Self-hosted, open-source agent skill registry for enterprises. Publish & version skill packages, govern with RBAC and audit logs, deploy on-premise with Docker or Kubernetes.: org.opencontainers.image.description Apache-2.0: org.opencontainers.image.licenses 612b69c2f9beda2bbbe5ac5803e1984d2e186226: org.opencontainers.image.revision https://github.com/iflytek/skillhub: org.opencontainers.image.source skillhub: org.opencontainers.image.title https://github.com/iflytek/skillhub: org.opencontainers.image.url 0.2.2: org.opencontainers.image.version

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web:v0.2.2
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web:v0.2.2  ghcr.io/iflytek/skillhub-web:v0.2.2

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web:v0.2.2
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web:v0.2.2  ghcr.io/iflytek/skillhub-web:v0.2.2

Shell快速替换命令

sed -i 's#ghcr.io/iflytek/skillhub-web:v0.2.2#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web:v0.2.2#' deployment.yaml

Ansible快速分发-Docker

#ansible k8s -m shell -a 'docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web:v0.2.2 && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web:v0.2.2  ghcr.io/iflytek/skillhub-web:v0.2.2'

Ansible快速分发-Containerd

#ansible k8s -m shell -a 'ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web:v0.2.2 && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web:v0.2.2  ghcr.io/iflytek/skillhub-web:v0.2.2'

镜像构建历史


# 2026-04-02 18:01:12  0.00B 指定检查容器健康状态的命令
HEALTHCHECK &{["CMD-SHELL" "wget -qO- http://127.0.0.1/nginx-health || exit 1"] "10s" "3s" "0s" "0s" '\x00'}
                        
# 2026-04-02 18:01:12  0.00B 声明容器运行时监听的端口
EXPOSE [80/tcp]
                        
# 2026-04-02 18:01:12  480.00B 执行命令并创建新的镜像层
RUN /bin/sh -c chmod +x /docker-entrypoint.d/30-runtime-config.sh # buildkit
                        
# 2026-04-02 18:01:12  480.00B 复制新文件或目录到容器中
COPY docker-entrypoint.d/30-runtime-config.sh /docker-entrypoint.d/30-runtime-config.sh # buildkit
                        
# 2026-04-02 18:01:12  493.00B 复制新文件或目录到容器中
COPY runtime-config.js.template /usr/share/nginx/html/runtime-config.js.template # buildkit
                        
# 2026-04-02 18:01:12  1.74KB 复制新文件或目录到容器中
COPY nginx.conf.template /etc/nginx/templates/default.conf.template # buildkit
                        
# 2026-04-02 18:01:12  4.07KB 复制新文件或目录到容器中
COPY /app/src/docs/skill.md.template /usr/share/nginx/html/registry/skill.md.template # buildkit
                        
# 2026-04-02 18:01:12  1.50MB 复制新文件或目录到容器中
COPY /app/dist /usr/share/nginx/html # buildkit
                        
# 2026-03-25 07:11:07  49.45MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -x     && apkArch="$(cat /etc/apk/arch)"     && nginxPackages="         nginx=${NGINX_VERSION}-r${PKG_RELEASE}         nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE}         nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE}         nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE}         nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE}         nginx-module-acme=${NGINX_VERSION}.${ACME_VERSION}-r${PKG_RELEASE}     "     && apk add --no-cache --virtual .checksum-deps         openssl     && case "$apkArch" in         x86_64|aarch64)             apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages             ;;         *)             set -x             && tempDir="$(mktemp -d)"             && chown nobody:nobody $tempDir             && apk add --no-cache --virtual .build-deps                 gcc                 libc-dev                 make                 openssl-dev                 pcre2-dev                 zlib-dev                 linux-headers                 libxslt-dev                 gd-dev                 geoip-dev                 libedit-dev                 bash                 alpine-sdk                 findutils                 curl                 cargo                 clang-libclang             && su nobody -s /bin/sh -c "                 export HOME=${tempDir}                 && cd ${tempDir}                 && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz                 && PKGOSSCHECKSUM=\"9ae89f2f9efefec1c7098bfb8da88da93b1370230989dc3cdf3eb3a8d9bf6b777c9dfff7998ea173317f38a66ebc92f8fabf77f024a596a17d0f8a42dfc74b5a *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\"                 && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then                     echo \"pkg-oss tarball checksum verification succeeded!\";                 else                     echo \"pkg-oss tarball checksum verification failed!\";                     exit 1;                 fi                 && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz                 && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE}                 && cd alpine                 && export BUILDTARGET=\"module-geoip module-image-filter module-njs module-xslt module-acme\"                 && if [ \"\$(apk --print-arch)\" = \"armhf\" ]; then BUILDTARGET=\"\$( echo \$BUILDTARGET | sed 's,module-acme,,' )\"; fi                 && make \$BUILDTARGET                 && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk                 && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz                 "             && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/             && apk del --no-network .build-deps             && if [ "$apkArch" = "armhf" ]; then nginxPackages="$( echo $nginxPackages | sed 's,nginx-module-acme=.*,,')"; fi             && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages             ;;     esac     && apk del --no-network .checksum-deps     && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi     && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi     && apk add --no-cache curl ca-certificates # buildkit
                        
# 2026-03-25 07:11:07  0.00B 设置环境变量 ACME_VERSION
ENV ACME_VERSION=0.3.1
                        
# 2026-03-25 07:11:07  0.00B 设置环境变量 NJS_RELEASE
ENV NJS_RELEASE=1
                        
# 2026-03-25 07:11:07  0.00B 设置环境变量 NJS_VERSION
ENV NJS_VERSION=0.9.6
                        
# 2026-03-25 06:12:12  0.00B 设置默认要执行的命令
CMD ["nginx" "-g" "daemon off;"]
                        
# 2026-03-25 06:12:12  0.00B 设置停止容器时发送的系统调用信号
STOPSIGNAL SIGQUIT
                        
# 2026-03-25 06:12:12  0.00B 声明容器运行时监听的端口
EXPOSE map[80/tcp:{}]
                        
# 2026-03-25 06:12:12  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/docker-entrypoint.sh"]
                        
# 2026-03-25 06:12:12  4.62KB 复制新文件或目录到容器中
COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit
                        
# 2026-03-25 06:12:12  3.02KB 复制新文件或目录到容器中
COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit
                        
# 2026-03-25 06:12:12  389.00B 复制新文件或目录到容器中
COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit
                        
# 2026-03-25 06:12:12  2.12KB 复制新文件或目录到容器中
COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit
                        
# 2026-03-25 06:12:12  1.62KB 复制新文件或目录到容器中
COPY docker-entrypoint.sh / # buildkit
                        
# 2026-03-25 06:12:12  4.28MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -x     && addgroup -g 101 -S nginx     && adduser -S -D -H -u 101 -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx     && apkArch="$(cat /etc/apk/arch)"     && nginxPackages="         nginx=${NGINX_VERSION}-r${PKG_RELEASE}     "     && apk add --no-cache --virtual .checksum-deps         openssl     && case "$apkArch" in         x86_64|aarch64)             set -x             && KEY_SHA512="e09fa32f0a0eab2b879ccbbc4d0e4fb9751486eedda75e35fac65802cc9faa266425edf83e261137a2f4d16281ce2c1a5f4502930fe75154723da014214f0655"             && wget -O /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub             && if echo "$KEY_SHA512 */tmp/nginx_signing.rsa.pub" | sha512sum -c -; then                 echo "key verification succeeded!";                 mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/;             else                 echo "key verification failed!";                 exit 1;             fi             && DEPS=$(apk query --summarize depends --recursive --no-cache                        --repository "@nginxorg https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main"                        ${nginxPackages/=/@nginxorg=})             && apk add --no-cache $DEPS             && apk add --repositories-file /dev/null -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages             ;;         *)             set -x             && tempDir="$(mktemp -d)"             && chown nobody:nobody $tempDir             && apk add --no-cache --virtual .build-deps                 gcc                 libc-dev                 make                 openssl-dev                 pcre2-dev                 zlib-dev                 linux-headers                 bash                 alpine-sdk                 findutils                 curl             && su nobody -s /bin/sh -c "                 export HOME=${tempDir}                 && cd ${tempDir}                 && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz                 && PKGOSSCHECKSUM=\"9ae89f2f9efefec1c7098bfb8da88da93b1370230989dc3cdf3eb3a8d9bf6b777c9dfff7998ea173317f38a66ebc92f8fabf77f024a596a17d0f8a42dfc74b5a *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\"                 && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then                     echo \"pkg-oss tarball checksum verification succeeded!\";                 else                     echo \"pkg-oss tarball checksum verification failed!\";                     exit 1;                 fi                 && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz                 && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE}                 && cd alpine                 && make base                 && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk                 && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz                 "             && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/             && apk del --no-network .build-deps             && DEPS=$(apk query --summarize depends --recursive --no-cache                        --repository "@nginxorg ${tempDir}/packages/alpine/"                        ${nginxPackages/=/@nginxorg=})             && apk add --no-cache $DEPS             && apk add --repositories-file /dev/null -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages             ;;     esac     && apk del --no-network .checksum-deps     && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi     && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi     && apk add --no-cache gettext-envsubst     && apk add --no-cache tzdata     && ln -sf /dev/stdout /var/log/nginx/access.log     && ln -sf /dev/stderr /var/log/nginx/error.log     && mkdir /docker-entrypoint.d # buildkit
                        
# 2026-03-25 06:12:12  0.00B 设置环境变量 DYNPKG_RELEASE
ENV DYNPKG_RELEASE=1
                        
# 2026-03-25 06:12:12  0.00B 设置环境变量 PKG_RELEASE
ENV PKG_RELEASE=1
                        
# 2026-03-25 06:12:12  0.00B 设置环境变量 NGINX_VERSION
ENV NGINX_VERSION=1.29.7
                        
# 2026-03-25 06:12:12  0.00B 添加元数据标签
LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>
                        
# 2026-01-28 09:18:04  0.00B 设置默认要执行的命令
CMD ["/bin/sh"]
                        
# 2026-01-28 09:18:04  8.44MB 复制文件或目录到容器中
ADD alpine-minirootfs-3.23.3-x86_64.tar.gz / # buildkit
                        
                    

镜像信息

{
    "Id": "sha256:503b3ec2242754fc66d90f118855f1f9421362239588d7fd213675f243165075",
    "RepoTags": [
        "ghcr.io/iflytek/skillhub-web:v0.2.2",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web:v0.2.2"
    ],
    "RepoDigests": [
        "ghcr.io/iflytek/skillhub-web@sha256:73e800462d8013fff1536c8fc523cd36322054348f48343de2a9bc2d73a2e554",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web@sha256:5fa518b62a0d65644bd6206831cc3eac4ba2beb9c5682efbd180d5ab5dba90ac"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-04-02T10:01:12.336712052Z",
    "Container": "",
    "ContainerConfig": null,
    "DockerVersion": "",
    "Author": "",
    "Config": {
        "Hostname": "",
        "Domainname": "",
        "User": "",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "ExposedPorts": {
            "80/tcp": {}
        },
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "NGINX_VERSION=1.29.7",
            "PKG_RELEASE=1",
            "DYNPKG_RELEASE=1",
            "NJS_VERSION=0.9.6",
            "NJS_RELEASE=1",
            "ACME_VERSION=0.3.1"
        ],
        "Cmd": [
            "nginx",
            "-g",
            "daemon off;"
        ],
        "Healthcheck": {
            "Test": [
                "CMD-SHELL",
                "wget -qO- http://127.0.0.1/nginx-health || exit 1"
            ],
            "Interval": 10000000000,
            "Timeout": 3000000000
        },
        "Image": "",
        "Volumes": null,
        "WorkingDir": "/",
        "Entrypoint": [
            "/docker-entrypoint.sh"
        ],
        "OnBuild": null,
        "Labels": {
            "maintainer": "NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e",
            "org.opencontainers.image.created": "2026-04-02T10:00:32.705Z",
            "org.opencontainers.image.description": "Self-hosted, open-source agent skill registry for enterprises. Publish \u0026 version skill packages, govern with RBAC and audit logs, deploy   on-premise with Docker or Kubernetes.",
            "org.opencontainers.image.licenses": "Apache-2.0",
            "org.opencontainers.image.revision": "612b69c2f9beda2bbbe5ac5803e1984d2e186226",
            "org.opencontainers.image.source": "https://github.com/iflytek/skillhub",
            "org.opencontainers.image.title": "skillhub",
            "org.opencontainers.image.url": "https://github.com/iflytek/skillhub",
            "org.opencontainers.image.version": "0.2.2"
        },
        "StopSignal": "SIGQUIT"
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 63687612,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/35b57d8c53b307879500943c74e25e50afefc8aa09afbcc7af1db531a11b479e/diff:/var/lib/docker/overlay2/94a729ea7ddfefc9f284f55d73777c5b759757eafe1cbc0a8859e9e734601e11/diff:/var/lib/docker/overlay2/9d2482e30d89b18e72015283cad45da68a07c6b6733508ff62b5da0b5aba493d/diff:/var/lib/docker/overlay2/a0947cd15d0ed43d5e145da44c4a324ada4eddccf6180b0e476714880c29c207/diff:/var/lib/docker/overlay2/c193ce7eddf14cf72f6c13ab9f090129da9bebdd1af813c204606e487c9ad6e8/diff:/var/lib/docker/overlay2/191240a3518fcf6146ad109b9b1988141570a57aabbba8175806f0919136f76f/diff:/var/lib/docker/overlay2/c8ee34e32eaa271c118cb0c7544935ecadc1e7a75905caeb755ab52d9b8c185d/diff:/var/lib/docker/overlay2/1cc5c6799fc01cd8768882f8273bd6526c27b700d1d9f0481d7b3f07b5739399/diff:/var/lib/docker/overlay2/cd32f9e0b45ada7c56339ca2eab7d11209485eda500f2ab6d4fd9aa07ea4e6ac/diff:/var/lib/docker/overlay2/e3ca65402d41b23769b3ab130928f1a52c139e801f1cf7cdb335d6c9c0a46ed9/diff:/var/lib/docker/overlay2/fc54966a9675e7136220369b417bf7553d73e9bdb3d95af72e3e3b241dcab376/diff:/var/lib/docker/overlay2/425ea395356a02718bdc1c998d1c249d927017bc22fc96259b85c8882e39159d/diff:/var/lib/docker/overlay2/e2168e4415fa23efb4974948fb84e5824148b54e06c7e4b305be1f21b0d6d57e/diff",
            "MergedDir": "/var/lib/docker/overlay2/bac08243549d94929f12cb3688ef695e2fc8b0bef58932a8c321637f5a5070d9/merged",
            "UpperDir": "/var/lib/docker/overlay2/bac08243549d94929f12cb3688ef695e2fc8b0bef58932a8c321637f5a5070d9/diff",
            "WorkDir": "/var/lib/docker/overlay2/bac08243549d94929f12cb3688ef695e2fc8b0bef58932a8c321637f5a5070d9/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:989e799e634906e94dc9a5ee2ee26fc92ad260522990f26e707861a5f52bf64e",
            "sha256:27fc2bd29afd3c6b3e6f9d20d88a3a3a138addae51c7a5a531f6309240f0c17d",
            "sha256:8ca391b8823ca76d48b70a33cd19e15eef8a510b59a1996f3be251b52d329ec7",
            "sha256:9ffd725bd2f3b1568a8018d10d4c35fddd14cad794f6ab3a6c898a587279586d",
            "sha256:cff742fa7408f5e618a8c5760b39857487587b50c487b47afac0371b1df162b6",
            "sha256:1eb65b5fb2a1c51508bff4e740e2ff4450f325aa578abbdeaf272f2691d0a033",
            "sha256:e8abceee8fd8bc37335fe801331b26ddfba6e0f3f24ad96fc456615247fb205b",
            "sha256:6d895dca2a499d5f74e001fffce50ad78f864ea8c2a5d1f8bf91e0fa8c32f518",
            "sha256:1a0503bb3d5725444a357ea7d6cd104e7ba0200f789a090b65b5a2b6375991bc",
            "sha256:30fe435ebf0933e3c2f5787261a877be84ac9e6c214b668fb51253c5b8d774e4",
            "sha256:7f2162cc3396bac1e39dafa89cc338ba67cf4565ead4a1556f7bb4bc2a7e52fe",
            "sha256:38b602889036184423b8e5d560c238c75bfa0e532cd4228ffea3d54ccc65ddc5",
            "sha256:cee2168ec695590c841d8d3de6a1803b3280bd82ce62501d29f6d856b890d6db",
            "sha256:28b17a518a6233288e61ee5487658e407f7c8cc45d4ab69e5839f9f6ef49354a"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-04-09T08:43:56.646185836+08:00"
    }
}

更多版本

ghcr.io/iflytek/skillhub-web:v0.2.2

linux/amd64 ghcr.io63.69MB2026-04-09 08:43
7