广告图片

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

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

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

源镜像 ghcr.io/iflytek/skillhub-web:v0.2.4
国内镜像 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web:v0.2.4
镜像ID sha256:534128fa3abc333381b08586010e5485e27e60cab5930d8aa035b48f5cbc3245
镜像TAG v0.2.4
大小 63.71MB
镜像源 ghcr.io
CMD nginx -g daemon off;
启动入口 /docker-entrypoint.sh
工作目录 /
OS/平台 linux/amd64
浏览量 10 次
贡献者
avatar
yf
镜像创建 2026-04-17T07:18:39.34052443Z
同步时间 2026-04-20 09:32
开放端口
80/tcp
环境变量
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin NGINX_VERSION=1.29.8 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-17T07:17:55.017Z: 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 2cfd4a730bbc52e1446fd39b3ed3f2a7a0594a78: 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.4: org.opencontainers.image.version

Docker拉取命令

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

Containerd拉取命令

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

Shell快速替换命令

sed -i 's#ghcr.io/iflytek/skillhub-web:v0.2.4#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web:v0.2.4#' 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.4 && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web:v0.2.4  ghcr.io/iflytek/skillhub-web:v0.2.4'

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.4 && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web:v0.2.4  ghcr.io/iflytek/skillhub-web:v0.2.4'

镜像构建历史


# 2026-04-17 15:18:39  0.00B 指定检查容器健康状态的命令
HEALTHCHECK &{["CMD-SHELL" "wget -qO- http://127.0.0.1/nginx-health || exit 1"] "10s" "3s" "0s" "0s" '\x00'}
                        
# 2026-04-17 15:18:39  0.00B 声明容器运行时监听的端口
EXPOSE [80/tcp]
                        
# 2026-04-17 15:18:39  480.00B 执行命令并创建新的镜像层
RUN /bin/sh -c chmod +x /docker-entrypoint.d/30-runtime-config.sh # buildkit
                        
# 2026-04-17 15:18:39  480.00B 复制新文件或目录到容器中
COPY docker-entrypoint.d/30-runtime-config.sh /docker-entrypoint.d/30-runtime-config.sh # buildkit
                        
# 2026-04-17 15:18:39  493.00B 复制新文件或目录到容器中
COPY runtime-config.js.template /usr/share/nginx/html/runtime-config.js.template # buildkit
                        
# 2026-04-17 15:18:39  1.74KB 复制新文件或目录到容器中
COPY nginx.conf.template /etc/nginx/templates/default.conf.template # buildkit
                        
# 2026-04-17 15:18:39  4.07KB 复制新文件或目录到容器中
COPY /app/src/docs/skill.md.template /usr/share/nginx/html/registry/skill.md.template # buildkit
                        
# 2026-04-17 15:18:39  1.53MB 复制新文件或目录到容器中
COPY /app/dist /usr/share/nginx/html # buildkit
                        
# 2026-04-16 05:19:04  49.44MB 执行命令并创建新的镜像层
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=\"7074c3ba1ece708140afd0220b16df77651fbb56cc012e901bc1c4a80531872b7a58ad97a28357646575ce625e94a0540796c045f95d33e40e6d3874ce7b3d79 *${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-04-16 05:19:04  0.00B 设置环境变量 ACME_VERSION
ENV ACME_VERSION=0.3.1
                        
# 2026-04-16 05:19:04  0.00B 设置环境变量 NJS_RELEASE
ENV NJS_RELEASE=1
                        
# 2026-04-16 05:19:04  0.00B 设置环境变量 NJS_VERSION
ENV NJS_VERSION=0.9.6
                        
# 2026-04-16 04:17:53  0.00B 设置默认要执行的命令
CMD ["nginx" "-g" "daemon off;"]
                        
# 2026-04-16 04:17:53  0.00B 设置停止容器时发送的系统调用信号
STOPSIGNAL SIGQUIT
                        
# 2026-04-16 04:17:53  0.00B 声明容器运行时监听的端口
EXPOSE map[80/tcp:{}]
                        
# 2026-04-16 04:17:53  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/docker-entrypoint.sh"]
                        
# 2026-04-16 04:17:53  4.62KB 复制新文件或目录到容器中
COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit
                        
# 2026-04-16 04:17:53  3.02KB 复制新文件或目录到容器中
COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit
                        
# 2026-04-16 04:17:53  389.00B 复制新文件或目录到容器中
COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit
                        
# 2026-04-16 04:17:52  2.12KB 复制新文件或目录到容器中
COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit
                        
# 2026-04-16 04:17:52  1.62KB 复制新文件或目录到容器中
COPY docker-entrypoint.sh / # buildkit
                        
# 2026-04-16 04:17:52  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=\"7074c3ba1ece708140afd0220b16df77651fbb56cc012e901bc1c4a80531872b7a58ad97a28357646575ce625e94a0540796c045f95d33e40e6d3874ce7b3d79 *${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-04-16 04:17:52  0.00B 设置环境变量 DYNPKG_RELEASE
ENV DYNPKG_RELEASE=1
                        
# 2026-04-16 04:17:52  0.00B 设置环境变量 PKG_RELEASE
ENV PKG_RELEASE=1
                        
# 2026-04-16 04:17:52  0.00B 设置环境变量 NGINX_VERSION
ENV NGINX_VERSION=1.29.8
                        
# 2026-04-16 04:17:52  0.00B 添加元数据标签
LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>
                        
# 2026-04-16 04:01:40  0.00B 设置默认要执行的命令
CMD ["/bin/sh"]
                        
# 2026-04-16 04:01:40  8.45MB 复制文件或目录到容器中
ADD alpine-minirootfs-3.23.4-x86_64.tar.gz / # buildkit
                        
                    

镜像信息

{
    "Id": "sha256:534128fa3abc333381b08586010e5485e27e60cab5930d8aa035b48f5cbc3245",
    "RepoTags": [
        "ghcr.io/iflytek/skillhub-web:v0.2.4",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web:v0.2.4"
    ],
    "RepoDigests": [
        "ghcr.io/iflytek/skillhub-web@sha256:14a47d7552e3f70366c830e9548752f5a12458bc151cf84a2af8d3a6b5c1bdf4",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/iflytek/skillhub-web@sha256:9893c8357e9dbced92e209779bdc326c92a71ba7ec458f375dccf533082cf8d7"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-04-17T07:18:39.34052443Z",
    "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.8",
            "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-17T07:17:55.017Z",
            "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": "2cfd4a730bbc52e1446fd39b3ed3f2a7a0594a78",
            "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.4"
        },
        "StopSignal": "SIGQUIT"
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 63714759,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/1f3cdae8c2e7b2a94f0f61cbb3f8d9b16874542a6a94069da75ea0a89fca3525/diff:/var/lib/docker/overlay2/03e47675677d42e2a4bfd1270585de5afd2d41d53e64864adbf0d5beabf5f5dc/diff:/var/lib/docker/overlay2/eb72a1eb789e6386debaf761838ad537b41700085719ad6f0ea2aeba305924ea/diff:/var/lib/docker/overlay2/02d371d416aa679b195b2c7eac171a7eae90faf6b0ed4f651f69161109e792fd/diff:/var/lib/docker/overlay2/cb9eb6463451be8c91908a38fdfb280ff16a071192da13088e65da3ce9b8e799/diff:/var/lib/docker/overlay2/13523cec64afaecff40941afab05329287f080de56aa3773490d53b6de51b007/diff:/var/lib/docker/overlay2/541caf775ed31c53c3c531a8f40e648c60544ae9f7c7773ae01b2fe56470cff5/diff:/var/lib/docker/overlay2/a20a0508088774192806dfbc62c619b4edc6dd1e4cbe4ac667230538ea27e068/diff:/var/lib/docker/overlay2/16a868438948dc9202787b9749be25bc86661db352a96663dc234436a2b3e560/diff:/var/lib/docker/overlay2/0f11aa454c4eb69a8355ceba6353f3d2c4b0b3ab29e0576af1cd43476a3fc2cd/diff:/var/lib/docker/overlay2/aad6570461a901a744b9ea5bbe1b61f88755a15ab1ff321b1a1114bafc6d34da/diff:/var/lib/docker/overlay2/d900a36df13c227438d8f31b3ea31948c443a92e7a8500f57f601ada6f8921f8/diff:/var/lib/docker/overlay2/25979533e2e425f22afcc600ccb45128b109440c7f68049cdcf7fde229f299dd/diff",
            "MergedDir": "/var/lib/docker/overlay2/8878ccd9712b78fb94842fc389c315fde2c7136c9bb1cec2d3f7704793b9d7ac/merged",
            "UpperDir": "/var/lib/docker/overlay2/8878ccd9712b78fb94842fc389c315fde2c7136c9bb1cec2d3f7704793b9d7ac/diff",
            "WorkDir": "/var/lib/docker/overlay2/8878ccd9712b78fb94842fc389c315fde2c7136c9bb1cec2d3f7704793b9d7ac/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:29df493baa13de438d6d2ece3a8333032e0b7b9b9d8cce4ee82194da255f61e1",
            "sha256:e6082cdc2516c48531390c6f369268148ed5189748b4cdbcb30d8de04d4ef146",
            "sha256:f4eddaa4c30384a3db34177c1132ca20f44c1216fe41ba7f607dcee58b908104",
            "sha256:00a43f6306382cee5fdb8e738ce0b5c7022448687d5edea1912e169c6ee03ebb",
            "sha256:f7b74afe8798753eb53d962f1676c409e590b5865b456c309c2e364cfe98f55e",
            "sha256:646d544dc619be2ab0e784ee691dc06e7a1d5ca76176b6e7fb1c8933b58350ff",
            "sha256:2b12ccfb247ac0c9ec2d186864ef4f2a893499e24935b14941e74aec27e62143",
            "sha256:36c003a300d15169fe53876c4c807b1668568414660e5249ba6d168badab54fa",
            "sha256:976294ff858d52aa1c91990058f45627e0a5b23f1952e65bcdb4c97bd7fa62c6",
            "sha256:066742b46248d51877fe14650400633de90c5c40153727d669f367d7ea15ed52",
            "sha256:f13ab5bb6433952d75087531d092c88c1a8b246153709fea7e64b5c96bf2c756",
            "sha256:f5f5cccba2700b00e1a4cc2c643330e9e3deb28c02d3b2400bb6685386442e22",
            "sha256:923dc5d804e94d0cb7a29f2c7a3e2a4ef6a58f48f9bd190b4d5d330511e35463",
            "sha256:1d85479fad7dd1e39250ad5a1fad6525cc9016925b0d08be6ae40e08716be1eb"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-04-20T09:32:34.800187108+08:00"
    }
}

更多版本

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

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

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

linux/amd64 ghcr.io63.71MB2026-04-20 09:32
9