ℹ️
注意:这是一个 latest 标签镜像

latest 并不代表最新版本,本站同步时间存在延迟,无法保证此镜像与上游最新版本一致
生产环境建议使用明确的版本号(如 v1.2.3),避免因版本不一致导致问题。 了解更多 →

logo
ghcr.io/decolua/9router:latest
linux/arm64 ghcr.io 请确认架构匹配

9router是一个轻量级的HTTP路由转发工具,用于在容器环境中实现请求的路由和代理功能,支持简单的配置和快速部署,帮助用户在容器化场景下高效管理服务间的请求转发。

21
浏览次数
585.18MB
镜像大小
源镜像
ghcr.io/decolua/9router:latest
国内镜像
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/decolua/9router:latest-linuxarm64
镜像ID
sha256:852be02399ce17c83e3c55d492eac475387a269fd17852731b412f957bffc037
镜像 TAG
latest-linuxarm64
镜像大小
585.18MB
平台架构
linux/arm64
镜像源
ghcr.io
CMD
node custom-server.js
启动入口
/entrypoint.sh
工作目录
/app
OS/平台
linux/arm64
镜像创建
2026-06-21T11:20:21.177896697Z
同步时间
2026-06-21 22:52
浏览量
21 次
贡献者
🔌 开放端口 1
20128/tcp
⚙️ 环境变量 8
KeyValue
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 0
NODE_VERSION=22.23.0 1
YARN_VERSION=1.22.22 2
NODE_ENV=production 3
PORT=20128 4
HOSTNAME=0.0.0.0 5
NEXT_TELEMETRY_DISABLED=1 6
DATA_DIR=/app/data 7
🏷️ 镜像标签 8
KeyValue
2026-06-21T11:05:40.140Z org.opencontainers.image.created
Unlimited FREE AI coding. Connect Claude Code, Codex, Cursor, Cline, Copilot, Antigravity to FREE Claude/GPT/Gemini via 40+ providers. Auto-fallback, RTK -40% tokens, never hit limits. org.opencontainers.image.description
MIT org.opencontainers.image.licenses
0c47c891e7a6c1a47c35b286235a132c0a5aa0a8 org.opencontainers.image.revision
https://github.com/decolua/9router org.opencontainers.image.source
9router org.opencontainers.image.title
https://github.com/decolua/9router org.opencontainers.image.url
0.5.8 org.opencontainers.image.version
🛡️ 镜像安全扫描
alpine 3.24.1 Trivy 2026-06-21 22:53 查看完整报告
0
低危 LOW
5
中危 MEDIUM
1
高危 HIGH
0
严重 CRITICAL
受影响目标 (4)
ghcr.io/decolua/9router:latest (alpine 3.24.1) alpine Node.js node-pkg /app/.next/server/chunks/412.js /app/.next/static/chunks/5497-e1bf093a9a3e5746.js

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/decolua/9router:latest-linuxarm64
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/decolua/9router:latest-linuxarm64  ghcr.io/decolua/9router:latest

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/decolua/9router:latest-linuxarm64
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/decolua/9router:latest-linuxarm64  ghcr.io/decolua/9router:latest

Shell快速替换命令

sed -i 's#ghcr.io/decolua/9router:latest#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/decolua/9router:latest-linuxarm64#' deployment.yaml

Ansible快速分发-Docker

#ansible k8s -m shell -a 'docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/decolua/9router:latest-linuxarm64 && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/decolua/9router:latest-linuxarm64  ghcr.io/decolua/9router:latest'

Ansible快速分发-Containerd

#ansible k8s -m shell -a 'ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/decolua/9router:latest-linuxarm64 && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/decolua/9router:latest-linuxarm64  ghcr.io/decolua/9router:latest'

镜像构建历史


# 2026-06-21 19:20:21  0.00B 设置默认要执行的命令
CMD ["node" "custom-server.js"]
                        
# 2026-06-21 19:20:21  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/entrypoint.sh"]
                        
# 2026-06-21 19:20:21  0.00B 声明容器运行时监听的端口
EXPOSE map[20128/tcp:{}]
                        
# 2026-06-21 19:20:21  97.33KB 执行命令并创建新的镜像层
RUN /bin/sh -c apk --no-cache upgrade && apk --no-cache add su-exec &&   printf '#!/bin/sh\nchown -R node:node /app/data /app/data-home 2>/dev/null\nexec su-exec node "$@"\n' > /entrypoint.sh &&   chmod +x /entrypoint.sh # buildkit
                        
# 2026-06-21 19:20:17  200.09MB 执行命令并创建新的镜像层
RUN /bin/sh -c mkdir -p /app/data && chown -R node:node /app &&   mkdir -p /app/data-home && chown node:node /app/data-home &&   ln -sf /app/data-home /root/.9router 2>/dev/null || true # buildkit
                        
# 2026-06-21 19:20:12  155.22MB 复制新文件或目录到容器中
COPY /app/node_modules/next ./node_modules/next # buildkit
                        
# 2026-06-21 19:20:10  1.65MB 复制新文件或目录到容器中
COPY /app/node_modules/node-forge ./node_modules/node-forge # buildkit
                        
# 2026-06-21 19:20:10  114.32KB 复制新文件或目录到容器中
COPY /app/src/mitm ./src/mitm # buildkit
                        
# 2026-06-21 19:20:10  1.30MB 复制新文件或目录到容器中
COPY /app/open-sse ./open-sse # buildkit
                        
# 2026-06-21 19:20:10  1.50KB 复制新文件或目录到容器中
COPY /app/custom-server.js ./custom-server.js # buildkit
                        
# 2026-06-21 19:20:10  57.63MB 复制新文件或目录到容器中
COPY /app/.next/standalone ./ # buildkit
                        
# 2026-06-21 19:20:10  6.92MB 复制新文件或目录到容器中
COPY /app/.next/static ./.next/static # buildkit
                        
# 2026-06-20 17:27:53  1.28MB 复制新文件或目录到容器中
COPY /app/public ./public # buildkit
                        
# 2026-06-20 17:27:53  0.00B 设置环境变量 DATA_DIR
ENV DATA_DIR=/app/data
                        
# 2026-06-20 17:27:53  0.00B 设置环境变量 NEXT_TELEMETRY_DISABLED
ENV NEXT_TELEMETRY_DISABLED=1
                        
# 2026-06-20 17:27:53  0.00B 设置环境变量 HOSTNAME
ENV HOSTNAME=0.0.0.0
                        
# 2026-06-20 17:27:53  0.00B 设置环境变量 PORT
ENV PORT=20128
                        
# 2026-06-20 17:27:53  0.00B 设置环境变量 NODE_ENV
ENV NODE_ENV=production
                        
# 2026-06-20 17:27:53  0.00B 添加元数据标签
LABEL org.opencontainers.image.title=9router
                        
# 2026-06-20 17:13:34  0.00B 设置工作目录为/app
WORKDIR /app
                        
# 2026-06-18 22:17:06  0.00B 设置默认要执行的命令
CMD ["node"]
                        
# 2026-06-18 22:17:06  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["docker-entrypoint.sh"]
                        
# 2026-06-18 22:17:06  388.00B 复制新文件或目录到容器中
COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
                        
# 2026-06-18 22:17:06  5.37MB 执行命令并创建新的镜像层
RUN /bin/sh -c apk add --no-cache --virtual .build-deps-yarn curl gnupg tar   && export GNUPGHOME="$(mktemp -d)"   && for key in     6A010C5166006599AA17F08146C2130DFD2497F5   ; do     { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ||     { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ;   done   && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz"   && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc"   && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz   && gpgconf --kill all   && rm -rf "$GNUPGHOME"   && mkdir -p /opt   && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/   && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn   && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg   && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz   && apk del .build-deps-yarn   && yarn --version   && rm -rf /tmp/* # buildkit
                        
# 2026-06-18 22:17:02  0.00B 设置环境变量 YARN_VERSION
ENV YARN_VERSION=1.22.22
                        
# 2026-06-18 22:17:02  146.86MB 执行命令并创建新的镜像层
RUN /bin/sh -c addgroup -g 1000 node     && adduser -u 1000 -G node -s /bin/sh -D node     && apk add --no-cache         libstdc++     && apk add --no-cache --virtual .build-deps         curl     && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)"       && case "${alpineArch##*-}" in         x86_64) ARCH='x64' CHECKSUM="0157386028056147668de74f5ba83a5834f695661580890c49b963ffd370be34" OPENSSL_ARCH=linux-x86_64;;         x86) OPENSSL_ARCH=linux-elf;;         aarch64) OPENSSL_ARCH=linux-aarch64;;         arm*) OPENSSL_ARCH=linux-armv4;;         ppc64le) OPENSSL_ARCH=linux-ppc64le;;         s390x) OPENSSL_ARCH=linux-s390x;;         *) ;;       esac   && if [ -n "${CHECKSUM}" ]; then     set -eu;     curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz";     echo "$CHECKSUM  node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c -       && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner       && ln -s /usr/local/bin/node /usr/local/bin/nodejs;   else     echo "Building from source"     && apk add --no-cache --virtual .build-deps-full         binutils-gold         g++         gcc         gnupg         libgcc         linux-headers         make         python3         py-setuptools     && export GNUPGHOME="$(mktemp -d)"     && for key in       5BE8A3F6C8A5C01D106C0AD820B1A390B168D356       DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7       CC68F5A3106FF448322E48ED27F5E38D5B0A215F       8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600       890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4       C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C       108F52B48DB57BB0CC439B2997B01419BD92F80A       A363A499291CBBC940DD62E41F10027AF002F8B0     ; do       { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ||       { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ;     done     && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz"     && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc"     && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc     && gpgconf --kill all     && rm -rf "$GNUPGHOME"     && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c -     && tar -xf "node-v$NODE_VERSION.tar.xz"     && cd "node-v$NODE_VERSION"     && ./configure     && make -j$(getconf _NPROCESSORS_ONLN) V=     && make install     && apk del .build-deps-full     && cd ..     && rm -Rf "node-v$NODE_VERSION"     && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt;   fi   && rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"   && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \;   && apk del .build-deps   && node --version   && npm --version   && rm -rf /tmp/* # buildkit
                        
# 2026-06-18 22:17:02  0.00B 设置环境变量 NODE_VERSION
ENV NODE_VERSION=22.23.0
                        
# 2026-06-16 08:01:20  0.00B 设置默认要执行的命令
CMD ["/bin/sh"]
                        
# 2026-06-16 08:01:20  8.66MB 复制文件或目录到容器中
ADD alpine-minirootfs-3.24.1-aarch64.tar.gz / # buildkit
                        
                    

镜像信息

{
    "Id": "sha256:852be02399ce17c83e3c55d492eac475387a269fd17852731b412f957bffc037",
    "RepoTags": [
        "ghcr.io/decolua/9router:latest",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/decolua/9router:latest-linuxarm64"
    ],
    "RepoDigests": [
        "ghcr.io/decolua/9router@sha256:c914a0c1927e8c2d8a83b42e650fdd797e9a2be4218bb8580c7bcd94e20bb844",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/decolua/9router@sha256:b256f31e5fd7ba541444770c9cb4727343c6db5edb5efc01c69bf1265022efa6"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-06-21T11:20:21.177896697Z",
    "Container": "",
    "ContainerConfig": null,
    "DockerVersion": "",
    "Author": "",
    "Config": {
        "Hostname": "",
        "Domainname": "",
        "User": "",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "ExposedPorts": {
            "20128/tcp": {}
        },
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "NODE_VERSION=22.23.0",
            "YARN_VERSION=1.22.22",
            "NODE_ENV=production",
            "PORT=20128",
            "HOSTNAME=0.0.0.0",
            "NEXT_TELEMETRY_DISABLED=1",
            "DATA_DIR=/app/data"
        ],
        "Cmd": [
            "node",
            "custom-server.js"
        ],
        "ArgsEscaped": true,
        "Image": "",
        "Volumes": null,
        "WorkingDir": "/app",
        "Entrypoint": [
            "/entrypoint.sh"
        ],
        "OnBuild": null,
        "Labels": {
            "org.opencontainers.image.created": "2026-06-21T11:05:40.140Z",
            "org.opencontainers.image.description": "Unlimited FREE AI coding. Connect Claude Code, Codex, Cursor, Cline, Copilot, Antigravity to FREE Claude/GPT/Gemini via 40+ providers. Auto-fallback, RTK -40% tokens, never hit limits.",
            "org.opencontainers.image.licenses": "MIT",
            "org.opencontainers.image.revision": "0c47c891e7a6c1a47c35b286235a132c0a5aa0a8",
            "org.opencontainers.image.source": "https://github.com/decolua/9router",
            "org.opencontainers.image.title": "9router",
            "org.opencontainers.image.url": "https://github.com/decolua/9router",
            "org.opencontainers.image.version": "0.5.8"
        }
    },
    "Architecture": "arm64",
    "Os": "linux",
    "Size": 585183497,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/daaeb4911285d44e9565922d188a47ce51e69c552540a01322b070e403636835/diff:/var/lib/docker/overlay2/7dab03af7dd18b6d3a63eed66805716b56a26cbb5e61a862b79e8798ad9ca503/diff:/var/lib/docker/overlay2/6053e4e1bf6f926dd614187e8c0876694ef6bc06a9abc273338a00d5a9ceff08/diff:/var/lib/docker/overlay2/0fbec45eee21c1d5514a0b4ff3f1a52e8a51ad6f1fee0b681df35aca76d0b797/diff:/var/lib/docker/overlay2/c6022549ed62677a0b0c2e5bb2071b936c1f46b8f5b35623249d88271bfb6345/diff:/var/lib/docker/overlay2/deabeea52a1318967439d3f81b9f8d929a62b028bcf486c53a80a87ba3a296e0/diff:/var/lib/docker/overlay2/9e1b6b646ab08ea01c1dfc4589ad8b4c4ba23412fe5a3caa2c35d7ecc3a3b765/diff:/var/lib/docker/overlay2/8da069eb2389f15f802780eb46f4dd061a835234d6446286eeb7b889dccdd4da/diff:/var/lib/docker/overlay2/fd0892602100a3b0ed988795dbf624d0c24c5067e60f94167f0147e87e69c972/diff:/var/lib/docker/overlay2/b37609c3ed1157ad870969bf791baab9deb43818828f82ca4966c145d2e897ea/diff:/var/lib/docker/overlay2/eba80bd144f7265794c4b70493878ba13222e916a6d08fbce06a01700943acd2/diff:/var/lib/docker/overlay2/f72dc3d824fa8e7c49a49a31a73991fbc2696f4aa7bad275a500d0e9585ec1a9/diff:/var/lib/docker/overlay2/4c0efa3fa8e1b4fe195fa7913b52f47396c647863f9d7b1c8ea163d70e6cdef1/diff:/var/lib/docker/overlay2/7e787a99ed01fdcbc3b6f3afb7e0da5cc92f5a1b04a345e90b37492c989a5af3/diff",
            "MergedDir": "/var/lib/docker/overlay2/658573c12aabcaaba72fa194fef8dede7aac80d35b44154125288435dd01eadf/merged",
            "UpperDir": "/var/lib/docker/overlay2/658573c12aabcaaba72fa194fef8dede7aac80d35b44154125288435dd01eadf/diff",
            "WorkDir": "/var/lib/docker/overlay2/658573c12aabcaaba72fa194fef8dede7aac80d35b44154125288435dd01eadf/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:b2848c02ac6ff53d265469b5b30f649f335e546a83330cd8916d54e65e640409",
            "sha256:645573497977dbb381c277e77994df7c80ee8ce3c408b18025b87c42cc88fc03",
            "sha256:3f0119c6f597cbf0c3d15729b72412ab1ffd95557c9dcc2827707d30cb992c80",
            "sha256:5f4c3475ee60c7f6f881d89d8e986988d0cf7b169b1441490121e8d8eec19110",
            "sha256:4dcac91708e6972c83f7de1575dd3b6c8f644fe60ee7509c9c43587c68f2e0ee",
            "sha256:f31740fc02fd2552212af561aa883e01c1f9af49aabbf5bd82efac93faabbed5",
            "sha256:fd4d3a409fb2e1d3e1c553c72e9fbfd9ce864c9c3bc093c6afc4f14ff0317a58",
            "sha256:8655527da64a8daa2b383a81bfb26b2f6e5a478f86700da2cf3e971e372df791",
            "sha256:c14a6b476300ec1bb1105007768cd8a9a36dd6561def05ed10af61ab4ea99e56",
            "sha256:0eb71a85060f6f4d35f9ac009ca228108fcc12b3d9f38696e4095904c1331712",
            "sha256:11baa81267de56849d34d76f0d465eb5042fb10ff4946468706fd31e74745185",
            "sha256:d091faed558406256c362816fb4c8a85ded9834b489d16e0e9bba43c3d0e14f4",
            "sha256:1b27d315c53cfb6c43ebfe312af182dbcb2fada069a518c261d2e3d01fceb2f3",
            "sha256:ec0ab702a1d91d65005d39efaaf206ff4634c31a78c18ea149513aac8e046dc8",
            "sha256:0f45143f395f9cbf1cef744e42f7a6bef0ad3e05475f3013f551422c90583896"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-06-21T22:52:25.711237951+08:00"
    }
}

更多版本

ghcr.io/decolua/9router:latest

linux/arm64 ghcr.io585.18MB2026-06-21 22:52
20
检测到您正在使用广告拦截插件,本站为公益站点,依赖广告维持运转 🙏 查看如何关闭 ×