logo
docker.io/apache/skywalking-ui:horizon-0.6.0
linux/arm64 docker.io 已验证 · apache 请确认架构匹配

Apache SkyWalking UI 是一个可视化的分布式追踪和监控系统,它可以帮助您了解应用程序的性能、依赖关系和错误排除。

11
浏览次数
205.72MB
镜像大小
国内镜像
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/apache/skywalking-ui:horizon-0.6.0-linuxarm64
源镜像
docker.io/apache/skywalking-ui:horizon-0.6.0
镜像ID
sha256:1bfba6006c95ef5d49be2bf8fb4005144d1747d03fd5d87b7abe2b6aa26886d2
镜像 TAG
horizon-0.6.0-linuxarm64
镜像大小
205.72MB
平台架构
linux/arm64
镜像源
docker.io
CMD
node server.js
启动入口
docker-entrypoint.sh
工作目录
/app
OS/平台
linux/arm64
镜像创建
2026-06-01T15:54:45.80436594Z
同步时间
2026-07-27 14:59
浏览量
11 次
贡献者
🔌 开放端口 1
8081/tcp
📁 目录挂载 1
 /data
⚙️ 环境变量 12
KeyValue
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 0
NODE_VERSION=24.16.0 1
YARN_VERSION=1.22.22 2
NODE_ENV=production 3
HORIZON_SERVER_HOST=0.0.0.0 4
HORIZON_SERVER_PORT=8081 5
HORIZON_STATIC_DIR=/app/static 6
HORIZON_CONFIG=/app/horizon.yaml 7
HORIZON_AUDIT_FILE=/data/horizon-audit.jsonl 8
HORIZON_SETUP_FILE=/data/horizon-setup.json 9
HORIZON_ALARMS_FILE=/data/horizon-alarms.json 10
HORIZON_WIRE_LOG_FILE=/data/horizon-wire.jsonl 11
🏷️ 镜像标签 5
KeyValue
Next-generation web UI for Apache SkyWalking. org.opencontainers.image.description
Apache-2.0 org.opencontainers.image.licenses
d502239748d0ed044c67d50308d3a408e2784b34 org.opencontainers.image.revision
https://github.com/apache/skywalking-horizon-ui org.opencontainers.image.source
Apache SkyWalking Horizon UI org.opencontainers.image.title
🛡️ 镜像安全扫描
alpine 3.23.4 Trivy 2026-07-27 14:59 查看完整报告
22
低危 LOW
18
中危 MEDIUM
13
高危 HIGH
1
严重 CRITICAL
受影响目标 (2)
docker.io/apache/skywalking-ui:horizon-0.6.0 (alpine 3.23.4) alpine Node.js node-pkg

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/apache/skywalking-ui:horizon-0.6.0-linuxarm64
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/apache/skywalking-ui:horizon-0.6.0-linuxarm64  docker.io/apache/skywalking-ui:horizon-0.6.0

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/apache/skywalking-ui:horizon-0.6.0-linuxarm64
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/apache/skywalking-ui:horizon-0.6.0-linuxarm64  docker.io/apache/skywalking-ui:horizon-0.6.0

Shell快速替换命令

sed -i 's#apache/skywalking-ui:horizon-0.6.0#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/apache/skywalking-ui:horizon-0.6.0-linuxarm64#' deployment.yaml

Ansible快速分发-Docker

#ansible k8s -m shell -a 'docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/apache/skywalking-ui:horizon-0.6.0-linuxarm64 && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/apache/skywalking-ui:horizon-0.6.0-linuxarm64  docker.io/apache/skywalking-ui:horizon-0.6.0'

Ansible快速分发-Containerd

#ansible k8s -m shell -a 'ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/apache/skywalking-ui:horizon-0.6.0-linuxarm64 && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/apache/skywalking-ui:horizon-0.6.0-linuxarm64  docker.io/apache/skywalking-ui:horizon-0.6.0'

镜像构建历史


# 2026-06-01 23:54:45  0.00B 设置默认要执行的命令
CMD ["node" "server.js"]
                        
# 2026-06-01 23:54:45  0.00B 声明容器运行时监听的端口
EXPOSE [8081/tcp]
                        
# 2026-06-01 23:54:45  0.00B 指定运行容器时使用的用户
USER horizon
                        
# 2026-06-01 23:54:45  0.00B 设置环境变量 NODE_ENV HORIZON_SERVER_HOST HORIZON_SERVER_PORT HORIZON_STATIC_DIR HORIZON_CONFIG HORIZON_AUDIT_FILE HORIZON_SETUP_FILE HORIZON_ALARMS_FILE HORIZON_WIRE_LOG_FILE
ENV NODE_ENV=production HORIZON_SERVER_HOST=0.0.0.0 HORIZON_SERVER_PORT=8081 HORIZON_STATIC_DIR=/app/static HORIZON_CONFIG=/app/horizon.yaml HORIZON_AUDIT_FILE=/data/horizon-audit.jsonl HORIZON_SETUP_FILE=/data/horizon-setup.json HORIZON_ALARMS_FILE=/data/horizon-alarms.json HORIZON_WIRE_LOG_FILE=/data/horizon-wire.jsonl
                        
# 2026-06-01 23:54:45  0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/data]
                        
# 2026-06-01 23:54:45  0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c mkdir -p /data && chown horizon:horizon /data # buildkit
                        
# 2026-06-01 23:54:45  1.34MB 复制新文件或目录到容器中
COPY --chown=horizon:horizon /src/dist/bundled_templates ./bundled_templates # buildkit
                        
# 2026-06-01 23:54:45  8.86KB 复制新文件或目录到容器中
COPY /src/dist/horizon.example.yaml ./horizon.example.yaml # buildkit
                        
# 2026-06-01 23:54:45  22.34MB 复制新文件或目录到容器中
COPY /src/dist/static ./static # buildkit
                        
# 2026-06-01 23:54:45  20.64MB 复制新文件或目录到容器中
COPY /src/dist/node_modules ./node_modules # buildkit
                        
# 2026-06-01 23:54:44  1.37KB 复制新文件或目录到容器中
COPY /src/dist/package.json ./package.json # buildkit
                        
# 2026-06-01 23:54:44  400.84KB 复制新文件或目录到容器中
COPY /src/dist/server.js ./server.js # buildkit
                        
# 2026-06-01 23:53:26  3.22KB 执行命令并创建新的镜像层
RUN /bin/sh -c addgroup -S horizon && adduser -S -G horizon horizon # buildkit
                        
# 2026-06-01 23:53:26  0.00B 设置工作目录为/app
WORKDIR /app
                        
# 2026-05-22 02:51:41  0.00B 设置默认要执行的命令
CMD ["node"]
                        
# 2026-05-22 02:51:41  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["docker-entrypoint.sh"]
                        
# 2026-05-22 02:51:41  388.00B 复制新文件或目录到容器中
COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
                        
# 2026-05-22 02:51:41  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-05-22 02:51:37  0.00B 设置环境变量 YARN_VERSION
ENV YARN_VERSION=1.22.22
                        
# 2026-05-22 02:51:37  146.91MB 执行命令并创建新的镜像层
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="761e8070a0943a6cf28ec83df3412630c3cb3d5cbccba32fbae942756b81552f" 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-05-22 02:51:37  0.00B 设置环境变量 NODE_VERSION
ENV NODE_VERSION=24.16.0
                        
# 2026-04-16 04:01:25  0.00B 设置默认要执行的命令
CMD ["/bin/sh"]
                        
# 2026-04-16 04:01:25  8.70MB 复制文件或目录到容器中
ADD alpine-minirootfs-3.23.4-aarch64.tar.gz / # buildkit
                        
                    

镜像信息

{
    "Id": "sha256:1bfba6006c95ef5d49be2bf8fb4005144d1747d03fd5d87b7abe2b6aa26886d2",
    "RepoTags": [
        "apache/skywalking-ui:horizon-0.6.0",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/apache/skywalking-ui:horizon-0.6.0-linuxarm64"
    ],
    "RepoDigests": [
        "apache/skywalking-ui@sha256:0293c48b9ef2f6bfa4daba8acfeda054d8fe8535b5e9964c165965d19710a57f",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/apache/skywalking-ui@sha256:96de7348ee0d377c35185f6a6bf6045582882447cb53f9cfdc78c44914f8c574"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-06-01T15:54:45.80436594Z",
    "Container": "",
    "ContainerConfig": null,
    "DockerVersion": "",
    "Author": "",
    "Config": {
        "Hostname": "",
        "Domainname": "",
        "User": "horizon",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "ExposedPorts": {
            "8081/tcp": {}
        },
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "NODE_VERSION=24.16.0",
            "YARN_VERSION=1.22.22",
            "NODE_ENV=production",
            "HORIZON_SERVER_HOST=0.0.0.0",
            "HORIZON_SERVER_PORT=8081",
            "HORIZON_STATIC_DIR=/app/static",
            "HORIZON_CONFIG=/app/horizon.yaml",
            "HORIZON_AUDIT_FILE=/data/horizon-audit.jsonl",
            "HORIZON_SETUP_FILE=/data/horizon-setup.json",
            "HORIZON_ALARMS_FILE=/data/horizon-alarms.json",
            "HORIZON_WIRE_LOG_FILE=/data/horizon-wire.jsonl"
        ],
        "Cmd": [
            "node",
            "server.js"
        ],
        "ArgsEscaped": true,
        "Image": "",
        "Volumes": {
            "/data": {}
        },
        "WorkingDir": "/app",
        "Entrypoint": [
            "docker-entrypoint.sh"
        ],
        "OnBuild": null,
        "Labels": {
            "org.opencontainers.image.description": "Next-generation web UI for Apache SkyWalking.",
            "org.opencontainers.image.licenses": "Apache-2.0",
            "org.opencontainers.image.revision": "d502239748d0ed044c67d50308d3a408e2784b34",
            "org.opencontainers.image.source": "https://github.com/apache/skywalking-horizon-ui",
            "org.opencontainers.image.title": "Apache SkyWalking Horizon UI"
        }
    },
    "Architecture": "arm64",
    "Os": "linux",
    "Size": 205723101,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/cca85aa0af2e38c1ffe8e1281b3f3d3930a3f7e79af2429e44962569e4980ad9/diff:/var/lib/docker/overlay2/a864adb517e98635f79e9d5bfe3f71957022a1d5c08f9bdde149c3a538d7d1a7/diff:/var/lib/docker/overlay2/b6d122713ca234369d4622aa61a050e6d4b09e8a914105ea35f84a4f9d8f1729/diff:/var/lib/docker/overlay2/fea29f5e6c08ebad2d62eb71aaa264feb48578fe2b452f02b1bccb4d06121d9b/diff:/var/lib/docker/overlay2/38efa6086930cb09e1c38dd8e1aa2af7eaea8c59ca6babb7c82f651fca72b2dd/diff:/var/lib/docker/overlay2/6665d8770e5af6f78fdefbca13f549ecebe1675f5b0b902c65b2ae6ba0b97556/diff:/var/lib/docker/overlay2/15b9267162e78a2ba5ae0bc4976f28a0599d2a000cbcd8881827b4c41a31d500/diff:/var/lib/docker/overlay2/93f52812ad6d6249de0ca961da7bdacea6c55e63ba1e39d6caf79f228d330860/diff:/var/lib/docker/overlay2/168b3a95bdc99636f4d51ad041aa1686374162da10dba058906ab42566c23854/diff:/var/lib/docker/overlay2/72ead8e97e86fac74cb30e549c6fe0b180947a46b6d824d9de06861b479f3537/diff:/var/lib/docker/overlay2/65c6a881c05c84946df49bbe3501bb284a7d83a2f6b1da4d65457f0f25e5a183/diff:/var/lib/docker/overlay2/ea4927f3e4b5223076db3ba9d2b2b1f986d04935d8f03de649d5baa7c65b3b79/diff",
            "MergedDir": "/var/lib/docker/overlay2/b319f85b2c71e491421c03de735c5df495659fa128397979d8a2b1c6941c2599/merged",
            "UpperDir": "/var/lib/docker/overlay2/b319f85b2c71e491421c03de735c5df495659fa128397979d8a2b1c6941c2599/diff",
            "WorkDir": "/var/lib/docker/overlay2/b319f85b2c71e491421c03de735c5df495659fa128397979d8a2b1c6941c2599/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:a8d26d037006414043b277ecb95287692d0960219289d9e27b0bcea0ce233b02",
            "sha256:51fc15c840ac7c034d0a4f629d406b6889bafb0d7157fbc149a29e8737427202",
            "sha256:304f2c65ae7a50a03780b27e26b9f73286c186f4cde703c40acd44aca5c5d69c",
            "sha256:de6344f9cc309f58eb92b229463dfd7924e983c5ad0000105ce1762025052f74",
            "sha256:c5b74525738e9f740f51b4fc3da9de8e17a8fdc0e71fd6754c119c2fc09dc778",
            "sha256:adabfd2e8fefd37737bd8ac67e28140b8b73e57fa2a3bbfa419b8afb5b63f489",
            "sha256:e0c307ce3e469c4bfbfc4581414fbfdb98f38cb8a0360bcfe7202611e6f35153",
            "sha256:2642e991b3de46dfbf20b143f89745972d3bc5d9119eb22966388224342dae72",
            "sha256:a75ddc640d800f6547b8cc82f4c1a0f168e27396c688551a344aa121c1079821",
            "sha256:86f1cef10d5d9bb9665bad48d8c513c29d026f65ff68df6c98bcb69b81a31f1d",
            "sha256:90b41c6a25d0ca1467e93f73bcefea48ddbc4123ef41e50420e85d6c50ee34af",
            "sha256:b80b02072e1c67871cf71fce78575ad15c6507fbf838bf46587095e6edb81fab",
            "sha256:7bd2791b9486aabc46d6dff079285df0cbbb547638396c661fe7c5cb45c534b7"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-07-27T14:59:36.002035427+08:00"
    }
}

更多版本

docker.io/apache/skywalking-ui:10.0.1

linux/amd64 docker.io436.00MB2024-07-09 14:43
944

docker.io/apache/skywalking-ui:9.3.0

linux/amd64 docker.io421.54MB2024-08-14 15:55
854

docker.io/apache/skywalking-ui:9.7.0

linux/amd64 docker.io434.19MB2024-08-24 11:52
1139

docker.io/apache/skywalking-ui:9.5.0

linux/amd64 docker.io425.98MB2024-10-21 22:34
695

docker.io/apache/skywalking-ui:8.6.0

linux/amd64 docker.io434.66MB2024-10-29 09:03
713

docker.io/apache/skywalking-ui:7.0.0

linux/amd64 docker.io127.21MB2024-11-02 18:29
504

docker.io/apache/skywalking-ui:8.2.0

linux/amd64 docker.io402.49MB2024-11-02 18:55
542

docker.io/apache/skywalking-ui:10.1.0

linux/amd64 docker.io453.88MB2024-11-21 18:36
635

docker.io/apache/skywalking-ui:9.4.0

linux/amd64 docker.io429.12MB2025-01-17 17:08
599

docker.io/apache/skywalking-ui:10.2.0

linux/amd64 docker.io457.03MB2025-04-01 22:03
494

docker.io/apache/skywalking-ui:9.0.0

linux/amd64 docker.io422.05MB2025-06-12 14:37
418

docker.io/apache/skywalking-ui:10.1.0-java21

linux/amd64 docker.io453.88MB2025-06-18 16:27
421

docker.io/apache/skywalking-ui:10.1.0

linux/arm64 docker.io473.88MB2025-07-01 10:05
419

docker.io/apache/skywalking-ui:10.1.0-java17

linux/arm64 docker.io473.88MB2025-07-01 10:07
400

docker.io/apache/skywalking-ui:9.5.0

linux/arm64 docker.io413.45MB2025-08-28 22:42
314

docker.io/apache/skywalking-ui:8.9.1

linux/amd64 docker.io421.52MB2025-09-04 17:13
442

docker.io/apache/skywalking-ui:10.3.0

linux/amd64 docker.io458.93MB2025-11-21 14:36
333

docker.io/apache/skywalking-ui:6.6.0

linux/amd64 docker.io126.20MB2026-03-09 17:25
224

docker.io/apache/skywalking-ui:10.3.0

linux/arm64 docker.io480.14MB2026-03-19 14:43
182

docker.io/apache/skywalking-ui:9.1.0

linux/amd64 docker.io422.45MB2026-04-10 15:45
205

docker.io/apache/skywalking-ui:9.6.0

linux/amd64 docker.io432.63MB2026-04-13 10:58
294

docker.io/apache/skywalking-ui:9.6.0

linux/arm64 docker.io419.99MB2026-04-20 12:15
136

docker.io/apache/skywalking-ui:10.4.0

linux/amd64 docker.io458.32MB2026-04-28 16:02
337

docker.io/apache/skywalking-ui:10.4.0

linux/arm64 docker.io479.44MB2026-06-05 17:23
89

docker.io/apache/skywalking-ui:horizon-0.6.0

linux/amd64 docker.io208.47MB2026-06-30 17:30
137

docker.io/apache/skywalking-ui:horizon-0.7.0

linux/amd64 docker.io209.55MB2026-07-11 09:10
52

docker.io/apache/skywalking-ui:horizon-0.6.0

linux/arm64 docker.io205.72MB2026-07-27 14:59
10
检测到您正在使用广告拦截插件,本站为公益站点,依赖广告维持运转 🙏 查看如何关闭 ×