logo
ghcr.io/multica-ai/multica-web:v0.3.38
linux/amd64 ghcr.io

这是Multica AI项目的Web应用程序容器镜像,用于部署Multica AI平台的网页界面及相关功能服务。

9
浏览次数
274.61MB
镜像大小
源镜像
ghcr.io/multica-ai/multica-web:v0.3.38
国内镜像
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/multica-ai/multica-web:v0.3.38
镜像ID
sha256:9095424193ae07dc19aa874b9881362912d1ec7ae1662b6ad108a570a67d79c0
镜像 TAG
v0.3.38
镜像大小
274.61MB
平台架构
linux/amd64
镜像源
ghcr.io
CMD
node apps/web/server.js
启动入口
docker-entrypoint.sh
工作目录
/app
OS/平台
linux/amd64
镜像创建
2026-07-04T10:25:59.295273033Z
同步时间
2026-07-05 22:25
浏览量
9 次
贡献者
🔌 开放端口 1
3000/tcp
⚙️ 环境变量 6
KeyValue
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 0
NODE_VERSION=22.23.1 1
YARN_VERSION=1.22.22 2
NODE_ENV=production 3
PORT=3000 4
HOSTNAME=0.0.0.0 5
🏷️ 镜像标签 8
KeyValue
2026-07-04T10:22:47.777Z org.opencontainers.image.created
Multica self-hosted web frontend org.opencontainers.image.description
NOASSERTION org.opencontainers.image.licenses
1ae0a1f5bf545740a86bb7536879989eef3f375a org.opencontainers.image.revision
https://github.com/multica-ai/multica org.opencontainers.image.source
Multica Web org.opencontainers.image.title
https://github.com/multica-ai/multica org.opencontainers.image.url
v0.3.38 org.opencontainers.image.version
🛡️ 镜像安全扫描
alpine 3.24.1 Trivy 2026-07-05 22:26 查看完整报告
0
低危 LOW
6
中危 MEDIUM
2
高危 HIGH
0
严重 CRITICAL
受影响目标 (2)
ghcr.io/multica-ai/multica-web:v0.3.38 (alpine 3.24.1) alpine Node.js node-pkg

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/multica-ai/multica-web:v0.3.38
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/multica-ai/multica-web:v0.3.38  ghcr.io/multica-ai/multica-web:v0.3.38

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/multica-ai/multica-web:v0.3.38
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/multica-ai/multica-web:v0.3.38  ghcr.io/multica-ai/multica-web:v0.3.38

Shell快速替换命令

sed -i 's#ghcr.io/multica-ai/multica-web:v0.3.38#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/multica-ai/multica-web:v0.3.38#' deployment.yaml

Ansible快速分发-Docker

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

Ansible快速分发-Containerd

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

镜像构建历史


# 2026-07-04 18:25:59  0.00B 设置默认要执行的命令
CMD ["node" "apps/web/server.js"]
                        
# 2026-07-04 18:25:59  0.00B 设置环境变量 HOSTNAME
ENV HOSTNAME=0.0.0.0
                        
# 2026-07-04 18:25:59  0.00B 设置环境变量 PORT
ENV PORT=3000
                        
# 2026-07-04 18:25:59  0.00B 声明容器运行时监听的端口
EXPOSE [3000/tcp]
                        
# 2026-07-04 18:25:59  0.00B 指定运行容器时使用的用户
USER nextjs
                        
# 2026-07-04 18:25:59  11.02MB 复制新文件或目录到容器中
COPY --chown=nextjs:nodejs /app/apps/web/public ./apps/web/public # buildkit
                        
# 2026-07-04 18:25:59  25.53MB 复制新文件或目录到容器中
COPY --chown=nextjs:nodejs /app/apps/web/.next/static ./apps/web/.next/static # buildkit
                        
# 2026-07-04 18:25:59  75.34MB 复制新文件或目录到容器中
COPY --chown=nextjs:nodejs /app/apps/web/.next/standalone ./ # buildkit
                        
# 2026-07-04 18:22:55  3.22KB 执行命令并创建新的镜像层
RUN /bin/sh -c addgroup --system --gid 1001 nodejs &&     adduser --system --uid 1001 nextjs # buildkit
                        
# 2026-07-04 18:22:55  0.00B 设置环境变量 NODE_ENV
ENV NODE_ENV=production
                        
# 2026-07-04 18:22:55  0.00B 设置工作目录为/app
WORKDIR /app
                        
# 2026-06-24 03:01:45  0.00B 设置默认要执行的命令
CMD ["node"]
                        
# 2026-06-24 03:01:45  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["docker-entrypoint.sh"]
                        
# 2026-06-24 03:01:45  388.00B 复制新文件或目录到容器中
COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
                        
# 2026-06-24 03:01:45  5.36MB 执行命令并创建新的镜像层
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-24 03:01:41  0.00B 设置环境变量 YARN_VERSION
ENV YARN_VERSION=1.22.22
                        
# 2026-06-24 03:01:41  148.95MB 执行命令并创建新的镜像层
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="25b5ec8550ca8bac9ade321f8b87e1c1aa6a64020ce34efef0217fe84106794c" 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-24 03:01:41  0.00B 设置环境变量 NODE_VERSION
ENV NODE_VERSION=22.23.1
                        
# 2026-06-16 08:01:29  0.00B 设置默认要执行的命令
CMD ["/bin/sh"]
                        
# 2026-06-16 08:01:29  8.42MB 复制文件或目录到容器中
ADD alpine-minirootfs-3.24.1-x86_64.tar.gz / # buildkit
                        
                    

镜像信息

{
    "Id": "sha256:9095424193ae07dc19aa874b9881362912d1ec7ae1662b6ad108a570a67d79c0",
    "RepoTags": [
        "ghcr.io/multica-ai/multica-web:v0.3.38",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/multica-ai/multica-web:v0.3.38"
    ],
    "RepoDigests": [
        "ghcr.io/multica-ai/multica-web@sha256:9c767ae8fa011264cd3e47ce64f2191a7d1440e649dd0130a412d4b72dce4ec6",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/multica-ai/multica-web@sha256:4dc33a9a68aae579e775962ba49521532558cbc0d4b4939c7c627ed99b88318c"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-07-04T10:25:59.295273033Z",
    "Container": "",
    "ContainerConfig": null,
    "DockerVersion": "",
    "Author": "",
    "Config": {
        "Hostname": "",
        "Domainname": "",
        "User": "nextjs",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "ExposedPorts": {
            "3000/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.1",
            "YARN_VERSION=1.22.22",
            "NODE_ENV=production",
            "PORT=3000",
            "HOSTNAME=0.0.0.0"
        ],
        "Cmd": [
            "node",
            "apps/web/server.js"
        ],
        "ArgsEscaped": true,
        "Image": "",
        "Volumes": null,
        "WorkingDir": "/app",
        "Entrypoint": [
            "docker-entrypoint.sh"
        ],
        "OnBuild": null,
        "Labels": {
            "org.opencontainers.image.created": "2026-07-04T10:22:47.777Z",
            "org.opencontainers.image.description": "Multica self-hosted web frontend",
            "org.opencontainers.image.licenses": "NOASSERTION",
            "org.opencontainers.image.revision": "1ae0a1f5bf545740a86bb7536879989eef3f375a",
            "org.opencontainers.image.source": "https://github.com/multica-ai/multica",
            "org.opencontainers.image.title": "Multica Web",
            "org.opencontainers.image.url": "https://github.com/multica-ai/multica",
            "org.opencontainers.image.version": "v0.3.38"
        }
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 274614846,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/e8447378b4850f9952b6aaeebd9b26eb74c2818c13172e319fa6ed8fe0c3c08e/diff:/var/lib/docker/overlay2/bf31b0a52240e1afa5fe3ace0bd150709ce7f487724ee86b2aa108b5986c1905/diff:/var/lib/docker/overlay2/fdffc66b2de512799eabdd5c654395b9e28a298cdd61984eca22438a3efb0200/diff:/var/lib/docker/overlay2/8bd9ad9871354beb8f9c8bef519a5d736b8bbb66fa7b0ae9c94ce5d2816a62a1/diff:/var/lib/docker/overlay2/9599e8e78de5c613c7c2d27c8f4c16d3d25600cebae7eba021ea57d1b1009126/diff:/var/lib/docker/overlay2/099beb39bcf4c00b4e248b30c208c5345b832365545820fc2fb70d6a21e59179/diff:/var/lib/docker/overlay2/d5e391065c0ff63cfc859efb7452118f62f37027b428232759f3d3e66079f5ff/diff:/var/lib/docker/overlay2/11524a671b133f199bded2c6a8962e73b3f7140dba5a8aeac21a92d451bbd2c1/diff",
            "MergedDir": "/var/lib/docker/overlay2/ee658d29218ce782431f8ecbf69259c266e937b908f92084167adb4e58d4a9ed/merged",
            "UpperDir": "/var/lib/docker/overlay2/ee658d29218ce782431f8ecbf69259c266e937b908f92084167adb4e58d4a9ed/diff",
            "WorkDir": "/var/lib/docker/overlay2/ee658d29218ce782431f8ecbf69259c266e937b908f92084167adb4e58d4a9ed/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c",
            "sha256:94ba1b56d694c6431a993fcd1fb36ec47c38a313e32a3e3ca9eda71bc287e873",
            "sha256:fd246171abbe6b0395f94ceba5829950efb68e9c25c5402b26acd15f0038e44c",
            "sha256:dd812e67e5869f0edb739e4274f58af29d8beeca2a08642563809d0622a11e86",
            "sha256:b7d13e25d65d588115b87c7a147464704bd413b97a9f32edfb9d42df0e07a253",
            "sha256:ed76c965fd05001722527e38c5ab7eefd0afd575fa6eda980f89406dcaf550f2",
            "sha256:120a97eceff03ef7d9145d46b7916638066d76c72bda34684129e6a416d8cd60",
            "sha256:44bbb1bc3877cf2045852898282ec64cdedabc1e6450971b38415c3c01bb4740",
            "sha256:e0941d25ee512b0b1cfec58a76eea00668b88dca6bd1d2c48eb827b5196a309d"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-07-05T22:25:51.152195688+08:00"
    }
}

更多版本

ghcr.io/multica-ai/multica-web:v0.2.25

linux/amd64 ghcr.io258.06MB2026-05-06 10:50
177

ghcr.io/multica-ai/multica-web:v0.3.8

linux/amd64 ghcr.io271.82MB2026-05-26 12:11
102

ghcr.io/multica-ai/multica-web:v0.3.10

linux/amd64 ghcr.io271.94MB2026-05-28 10:01
105

ghcr.io/multica-ai/multica-web:v0.3.21

linux/amd64 ghcr.io273.64MB2026-06-15 15:18
56

ghcr.io/multica-ai/multica-web:v0.3.23

linux/amd64 ghcr.io273.77MB2026-06-17 17:27
62

ghcr.io/multica-ai/multica-web:v0.3.27

linux/amd64 ghcr.io274.06MB2026-06-23 16:11
38

ghcr.io/multica-ai/multica-web:v0.3.28

linux/amd64 ghcr.io274.11MB2026-06-24 12:11
52

ghcr.io/multica-ai/multica-web:v0.3.29

linux/amd64 ghcr.io274.13MB2026-06-25 09:29
49

ghcr.io/multica-ai/multica-web:v0.3.35

linux/amd64 ghcr.io274.53MB2026-07-03 09:29
26

ghcr.io/multica-ai/multica-web:v0.3.38

linux/amd64 ghcr.io274.61MB2026-07-05 22:25
8
检测到您正在使用广告拦截插件,本站为公益站点,依赖广告维持运转 🙏 查看如何关闭 ×