logo
docker.io/library/node:22.2-alpine
linux/amd64 docker.io 已验证 · Docker
🏗️

Node.js 是一个用于JavaScript脚本语言的运行环境,可以在服务器上运行、可以与操作系统集成和交互。 Node.js 可以用来开发各种类型的应用程序,如 Web 应用程序、命令行工具、桌面应用程序等。

11
浏览次数
147.97MB
镜像大小
源镜像
docker.io/library/node:22.2-alpine
国内镜像
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/node:22.2-alpine
镜像ID
sha256:829d7338fdd8e0b6efd3d3c559b5655dc28c7e59ea50cc7edd2d12d8c42cc826
镜像 TAG
22.2-alpine
镜像大小
147.97MB
平台架构
linux/amd64
镜像源
docker.io
CMD
node
启动入口
docker-entrypoint.sh
工作目录
OS/平台
linux/amd64
镜像创建
2024-06-04T17:51:45.842983477Z
同步时间
2026-06-22 12:22
浏览量
11 次
贡献者
⚙️ 环境变量 3
KeyValue
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 0
NODE_VERSION=22.2.0 1
YARN_VERSION=1.22.19 2
🛡️ 镜像安全扫描
alpine 3.20.0 Trivy 2026-06-22 12:23 查看完整报告
29
低危 LOW
23
中危 MEDIUM
32
高危 HIGH
2
严重 CRITICAL
受影响目标 (2)
docker.io/library/node:22.2-alpine (alpine 3.20.0) alpine Node.js node-pkg

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/node:22.2-alpine
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/node:22.2-alpine  docker.io/library/node:22.2-alpine

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/node:22.2-alpine
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/node:22.2-alpine  docker.io/library/node:22.2-alpine

Shell快速替换命令

sed -i 's#library/node:22.2-alpine#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/node:22.2-alpine#' deployment.yaml

Ansible快速分发-Docker

#ansible k8s -m shell -a 'docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/node:22.2-alpine && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/node:22.2-alpine  docker.io/library/node:22.2-alpine'

Ansible快速分发-Containerd

#ansible k8s -m shell -a 'ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/node:22.2-alpine && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/node:22.2-alpine  docker.io/library/node:22.2-alpine'

镜像构建历史


# 2024-06-05 01:51:45  0.00B 
/bin/sh -c #(nop)  CMD ["node"]
                        
# 2024-06-05 01:51:45  0.00B 
/bin/sh -c #(nop)  ENTRYPOINT ["docker-entrypoint.sh"]
                        
# 2024-06-05 01:51:45  388.00B 
/bin/sh -c #(nop) COPY file:4d192565a7220e135cab6c77fbc1c73211b69f3d9fb37e62857b2c6eb9363d51 in /usr/local/bin/ 
                        
# 2024-06-05 01:51:45  5.57MB 
/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 --keyserver keyserver.ubuntu.com --recv-keys "$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/*
                        
# 2024-06-05 01:51:40  0.00B 
/bin/sh -c #(nop)  ENV YARN_VERSION=1.22.19
                        
# 2024-06-05 01:51:40  134.60MB 
/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="34c57b553f6e7c32927d295acd9d90b21d60a2d41618bab3e495cf0444e276d8" 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       4ED778F539E3634C779C87C6D7062848A1AB005C       141F07595B7B3FFE74309A937405533BE57C7D57       74F12602B6F1C4E913FAA37AD3A89613643B6201       DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7       61FC681DFB92A079F1685E77973F295594EC4689       8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600       C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8       890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4       C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C       108F52B48DB57BB0CC439B2997B01419BD92F80A       A363A499291CBBC940DD62E41F10027AF002F8B0       CC68F5A3106FF448322E48ED27F5E38D5B0A215F     ; do       gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" ||       gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$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
                        
# 2024-06-05 01:51:31  0.00B 
/bin/sh -c #(nop)  ENV NODE_VERSION=22.2.0
                        
# 2024-05-23 02:18:12  0.00B 
/bin/sh -c #(nop)  CMD ["/bin/sh"]
                        
# 2024-05-23 02:18:11  7.79MB 
/bin/sh -c #(nop) ADD file:e3abcdba177145039cfef1ad882f9f81a612a24c9f044b19f713b95454d2e3f6 in / 
                        
                    

镜像信息

{
    "Id": "sha256:829d7338fdd8e0b6efd3d3c559b5655dc28c7e59ea50cc7edd2d12d8c42cc826",
    "RepoTags": [
        "node:22.2-alpine",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/node:22.2-alpine"
    ],
    "RepoDigests": [
        "node@sha256:04867ddd82db7d0691ee88947d81e32026dc993728311bba9e3ada30d1001ef3",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/node@sha256:af91495523ac23f316a698fcf7fe3d451e2a63dbf7fd7f901ea7e772da00de86"
    ],
    "Parent": "",
    "Comment": "",
    "Created": "2024-06-04T17:51:45.842983477Z",
    "Container": "",
    "ContainerConfig": null,
    "DockerVersion": "23.0.11",
    "Author": "",
    "Config": {
        "Hostname": "",
        "Domainname": "",
        "User": "",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "NODE_VERSION=22.2.0",
            "YARN_VERSION=1.22.19"
        ],
        "Cmd": [
            "node"
        ],
        "Image": "sha256:91f822522c4a45609d07b157e6efd5b44211ee9859f257d6301690ddde5717b6",
        "Volumes": null,
        "WorkingDir": "",
        "Entrypoint": [
            "docker-entrypoint.sh"
        ],
        "OnBuild": null,
        "Labels": null
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 147971729,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/9f088ccae813db96ca9eb094e167bf6cf64943d0cb33f3401e989e273884e960/diff:/var/lib/docker/overlay2/671457f4fa1fca4a125966c6bc88c42d82bdbf58d94640934ae1b34684051e53/diff:/var/lib/docker/overlay2/32bc49b4194e7ffe9bb99a23ce71be420687629d77ce110947f430ab7ba27ae9/diff",
            "MergedDir": "/var/lib/docker/overlay2/da2a81f532f6c17306c12cfe8f417aa9220a43e4bd701935cdb1cf4bb0131e98/merged",
            "UpperDir": "/var/lib/docker/overlay2/da2a81f532f6c17306c12cfe8f417aa9220a43e4bd701935cdb1cf4bb0131e98/diff",
            "WorkDir": "/var/lib/docker/overlay2/da2a81f532f6c17306c12cfe8f417aa9220a43e4bd701935cdb1cf4bb0131e98/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:02f2bcb26af5ea6d185dcf509dc795746d907ae10c53918b6944ac85447a0c72",
            "sha256:7b51491debc5cbf33e18beeee3dba2e331068b4b406a122b31a1800b740ad23b",
            "sha256:6a6eed3da300d6a9124519a696db478ba2711fed6d332071f02be67da7d68efc",
            "sha256:9091b68588bd3b44ff3f55179239e3bae0a4ae039397a76b3eee1d36ecd5dfb3"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-06-22T12:22:57.666753083+08:00"
    }
}

更多版本

docker.io/library/node:12-alpine

linux/amd64 docker.io91.01MB2024-07-05 10:57
1166

docker.io/library/node:12-alpine

linux/arm64 docker.io89.43MB2024-07-05 10:57
1222

docker.io/library/node:20.14.0-alpine

linux/amd64 docker.io132.91MB2024-07-16 09:21
948

docker.io/library/node:alpine

linux/amd64 docker.io150.61MB2024-07-16 10:17
1725

docker.io/library/node:20-alpine

linux/amd64 docker.io133.14MB2024-07-30 23:42
3769

docker.io/library/node:16

linux/amd64 docker.io908.82MB2024-07-31 14:14
1662

docker.io/library/node:8

linux/amd64 docker.io901.21MB2024-08-07 13:37
933

docker.io/library/node:12

linux/amd64 docker.io917.81MB2024-08-07 13:40
967

docker.io/library/node:14

linux/amd64 docker.io911.75MB2024-08-07 13:43
1473

docker.io/library/node:20

linux/amd64 docker.io1.10GB2024-08-07 13:43
2707

docker.io/library/node:6

linux/amd64 docker.io884.32MB2024-08-30 09:27
791

docker.io/library/node:18.20.4

linux/amd64 docker.io1.09GB2024-08-31 15:10
993

docker.io/library/node:18

linux/amd64 docker.io1.09GB2024-09-26 17:28
1425

docker.io/library/node:20.6.0-alpine

linux/amd64 docker.io180.99MB2024-10-03 02:26
706

docker.io/library/node:20.15.1-alpine

linux/amd64 docker.io132.95MB2024-10-12 10:49
664

docker.io/library/node:20-bullseye-slim

linux/amd64 docker.io205.61MB2024-10-12 12:56
1577

docker.io/library/node:14-alpine

linux/amd64 docker.io119.31MB2024-10-18 05:00
1048

docker.io/library/node:22.9.0

linux/amd64 docker.io1.11GB2024-10-21 20:53
1083

docker.io/library/node:lts-slim

linux/amd64 docker.io219.76MB2024-11-04 11:15
1407

docker.io/library/node:14.21.3

linux/amd64 docker.io911.75MB2024-11-07 11:04
844

docker.io/library/node:22.11.0-alpine3.20

linux/amd64 docker.io155.13MB2024-11-20 18:21
1154

docker.io/library/node:18.20.4

linux/arm64 docker.io1.09GB2024-11-24 17:02
591

docker.io/library/node:22-alpine3.19

linux/amd64 docker.io154.73MB2024-11-24 20:24
1365

docker.io/library/node:18.11.0

linux/amd64 docker.io991.29MB2024-12-24 14:14
441

docker.io/library/node:18.18.0

linux/amd64 docker.io1.09GB2024-12-24 14:15
628

docker.io/library/node:20.9.0-bookworm

linux/amd64 docker.io1.10GB2025-01-02 19:24
687

docker.io/library/node:20.9.0-bookworm

linux/arm64 docker.io1.10GB2025-01-02 19:26
451

docker.io/library/node:20.9.0-bookworm-slim

linux/amd64 docker.io200.89MB2025-01-03 10:54
756

docker.io/library/node:20.9.0-bookworm-slim

linux/arm64 docker.io222.79MB2025-01-03 10:54
612

docker.io/library/node:18-slim

linux/amd64 docker.io192.10MB2025-01-12 19:44
1083

docker.io/library/node:20.18.0-alpine

linux/amd64 docker.io132.84MB2025-01-12 19:45
1133

docker.io/library/node:22.13.0-alpine3.21

linux/amd64 docker.io157.71MB2025-01-14 11:49
976

docker.io/library/node:23.3.0-alpine

linux/amd64 docker.io160.26MB2025-01-22 15:26
806

docker.io/library/node:18-bullseye-slim

linux/amd64 docker.io198.39MB2025-02-06 10:34
1457

docker.io/library/node:16.19.1

linux/amd64 docker.io910.05MB2025-02-12 01:31
723

docker.io/library/node:16

linux/arm64 docker.io855.89MB2025-02-12 01:55
457

docker.io/library/node:16.19.1

linux/arm64 docker.io857.09MB2025-02-12 02:05
624

docker.io/library/node:16-alpine3.15

linux/arm docker.io104.69MB2025-02-13 20:48
421

docker.io/library/node:16-alpine3.15

linux/arm64 docker.io114.44MB2025-02-13 21:04
569

docker.io/library/node:18.20.6

linux/amd64 docker.io1.09GB2025-02-21 16:32
684

docker.io/library/node:22.2.0-alpine3.20

linux/amd64 docker.io147.97MB2025-02-22 20:53
927

docker.io/library/node:18.20.7

linux/amd64 docker.io1.09GB2025-03-01 11:25
618

docker.io/library/node:18-alpine

linux/amd64 docker.io126.97MB2025-03-01 11:28
1393

docker.io/library/node:lts-alpine

linux/amd64 docker.io157.85MB2025-03-12 19:12
1462

docker.io/library/node:18-alpine

linux/arm64 docker.io125.56MB2025-03-15 14:18
821

docker.io/library/node:22.12-alpine

linux/amd64 docker.io157.20MB2025-03-25 20:58
840

docker.io/library/node:16-alpine3.14

linux/amd64 docker.io111.80MB2025-04-01 22:20
574

docker.io/library/node:20-alpine3.20

linux/amd64 docker.io134.30MB2025-04-24 09:08
728

docker.io/library/node:10-alpine

linux/amd64 docker.io82.74MB2025-04-24 13:50
499

docker.io/library/node:16.10.0

linux/amd64 docker.io907.79MB2025-04-29 10:24
432

docker.io/library/node:20-bookworm-slim

linux/amd64 docker.io200.87MB2025-05-09 18:10
1618

docker.io/library/node:22-alpine

linux/amd64 docker.io158.78MB2025-05-13 23:34
1526

docker.io/library/node:12-alpine3.14

linux/amd64 docker.io91.03MB2025-05-16 16:51
370

docker.io/library/node:23-alpine

linux/amd64 docker.io162.07MB2025-05-23 15:34
732

docker.io/library/node:18-alpine3.18

linux/amd64 docker.io126.90MB2025-05-26 15:51
733

docker.io/library/node:20.19.2-alpine3.22

linux/amd64 docker.io134.46MB2025-06-03 15:50
731

docker.io/library/node:20.11.1-alpine3.19

linux/amd64 docker.io136.64MB2025-06-03 15:53
1030

docker.io/library/node:16-buster

linux/amd64 docker.io908.82MB2025-06-04 19:32
439

docker.io/library/node:22

linux/amd64 docker.io1.12GB2025-06-04 20:28
1007

docker.io/library/node:22.16-alpine3.22

linux/amd64 docker.io159.53MB2025-06-09 16:37
614

docker.io/library/node:22-bookworm-slim

linux/amd64 docker.io224.13MB2025-06-11 11:05
1884

docker.io/library/node:20-bullseye-slim

linux/arm64 docker.io199.11MB2025-06-19 18:27
688

docker.io/library/node:14-alpine3.15

linux/amd64 docker.io120.82MB2025-06-26 13:15
602

docker.io/library/node:20-slim

linux/amd64 docker.io200.94MB2025-06-28 18:00
951

docker.io/library/node:20.19.3

linux/amd64 docker.io1.10GB2025-07-04 10:49
516

docker.io/library/node:20.19.3-alpine3.22

linux/amd64 docker.io134.56MB2025-07-04 11:13
618

docker.io/library/node:20-alpine3.22

linux/amd64 docker.io134.56MB2025-07-10 18:05
820

docker.io/library/node:16.20.2-alpine3.18

linux/amd64 docker.io117.53MB2025-07-22 16:34
380

docker.io/library/node:16.20.2-bookworm

linux/amd64 docker.io1.03GB2025-07-30 21:40
446

docker.io/library/node:20-alpine3.20

linux/arm docker.io119.58MB2025-07-31 19:16
404

docker.io/library/node:14.15.0-stretch-slim

linux/amd64 docker.io167.42MB2025-08-07 14:16
353

docker.io/library/node:22-slim

linux/amd64 docker.io224.15MB2025-08-11 00:13
1130

docker.io/library/node:10.24.1-alpine

linux/amd64 docker.io82.74MB2025-08-24 20:26
325

docker.io/library/node:18.20.5-slim

linux/amd64 docker.io192.05MB2025-09-05 13:26
368

docker.io/library/node:24-alpine

linux/arm64 docker.io165.26MB2025-09-05 19:23
959

docker.io/library/node:22-slim

linux/arm64 docker.io244.61MB2025-09-24 15:41
406

docker.io/library/node:18.19.0-bookworm-slim

linux/amd64 docker.io196.32MB2025-10-05 23:55
316

docker.io/library/node:18.19.0-bullseye-slim

linux/amd64 docker.io202.63MB2025-10-06 01:30
329

docker.io/library/node:20.18.3

linux/amd64 docker.io1.10GB2025-10-10 18:01
319

docker.io/library/node:20-trixie-slim

linux/amd64 docker.io202.74MB2025-11-12 20:02
442

docker.io/library/node:12.22.12-stretch-slim

linux/amd64 docker.io141.52MB2025-11-18 11:12
301

docker.io/library/node:18-bookworm-slim

linux/arm64 docker.io214.49MB2025-12-10 10:25
240

docker.io/library/node:18-bookworm-slim

linux/amd64 docker.io192.14MB2025-12-10 10:27
330

docker.io/library/node:12.18

linux/amd64 docker.io917.51MB2025-12-25 09:05
285

docker.io/library/node:23

linux/amd64 docker.io1.12GB2026-01-14 10:12
287

docker.io/library/node:16.20.2-alpine

linux/amd64 docker.io117.53MB2026-01-14 17:36
287

docker.io/library/node:22.21.1-alpine

linux/amd64 docker.io162.16MB2026-01-14 17:38
328

docker.io/library/node:24.12.0-alpine

linux/amd64 docker.io159.90MB2026-01-14 17:39
353

docker.io/library/node:22.14.0-alpine

linux/amd64 docker.io157.85MB2026-01-23 12:37
300

docker.io/library/node:18.17.1

linux/amd64 docker.io1.09GB2026-01-23 14:42
261

docker.io/library/node:22-bookworm

linux/amd64 docker.io1.13GB2026-01-29 09:21
1934

docker.io/library/node:18-alpine3.18

linux/arm64 docker.io124.48MB2026-02-21 01:20
212

docker.io/library/node:16.13.1

linux/arm64 docker.io850.06MB2026-02-21 01:43
138

docker.io/library/node:24.14.0-bookworm

linux/amd64 docker.io1.13GB2026-02-26 10:10
427

docker.io/library/node:22-trixie

linux/amd64 docker.io1.22GB2026-02-28 10:35
316

docker.io/library/node:24.10.0-bookworm-slim

linux/amd64 docker.io232.58MB2026-03-03 01:39
265

docker.io/library/node:24.10.0-alpine

linux/amd64 docker.io168.08MB2026-03-03 11:32
251

docker.io/library/node:20-alpine

linux/arm64 docker.io135.53MB2026-03-08 20:26
230

docker.io/library/node:20.20.1

linux/amd64 docker.io1.10GB2026-03-16 13:00
198

docker.io/library/node:24-bookworm

linux/amd64 docker.io1.13GB2026-03-16 16:57
624
检测到您正在使用广告拦截插件,本站为公益站点,依赖广告维持运转 🙏 查看如何关闭 ×