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

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

logo
ghcr.io/ttpears/bookstack-mcp:latest
linux/amd64 ghcr.io

ghcr.io/ttpears/bookstack-mcp是一个Bookstack文档管理系统的容器镜像,用于快速部署Bookstack服务,支持书籍、文档的创建、组织、搜索与管理等功能,可能包含定制化配置或额外特性以满足特定使用需求。

14
浏览次数
157.26MB
镜像大小
国内镜像
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/ttpears/bookstack-mcp:latest
源镜像
ghcr.io/ttpears/bookstack-mcp:latest
镜像ID
sha256:1eaaeafeb385c1cbab1e9eb7195bb414e92fcc48f58cc7e85f706fd43fa41d76
镜像 TAG
latest
镜像大小
157.26MB
平台架构
linux/amd64
镜像源
ghcr.io
CMD
node dist/index.js
启动入口
dumb-init --
工作目录
/app
OS/平台
linux/amd64
镜像创建
2026-07-22T05:27:04.218042352Z
同步时间
2026-07-30 23:55
浏览量
14 次
贡献者
🔌 开放端口 1
8080/tcp
⚙️ 环境变量 7
KeyValue
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 0
NODE_VERSION=20.20.2 1
YARN_VERSION=1.22.22 2
NODE_ENV=production 3
MCP_TRANSPORT=http 4
MCP_HTTP_HOST=0.0.0.0 5
MCP_HTTP_PORT=8080 6
🛡️ 镜像安全扫描
alpine 3.23.4 Trivy 2026-07-30 23:55 查看完整报告
27
低危 LOW
64
中危 MEDIUM
39
高危 HIGH
1
严重 CRITICAL
受影响目标 (2)
ghcr.io/ttpears/bookstack-mcp:latest (alpine 3.23.4) alpine Node.js node-pkg

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/ttpears/bookstack-mcp:latest
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/ttpears/bookstack-mcp:latest  ghcr.io/ttpears/bookstack-mcp:latest

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/ttpears/bookstack-mcp:latest
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/ttpears/bookstack-mcp:latest  ghcr.io/ttpears/bookstack-mcp:latest

Shell快速替换命令

sed -i 's#ghcr.io/ttpears/bookstack-mcp:latest#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/ttpears/bookstack-mcp:latest#' deployment.yaml

Ansible快速分发-Docker

#ansible k8s -m shell -a 'docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/ttpears/bookstack-mcp:latest && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/ttpears/bookstack-mcp:latest  ghcr.io/ttpears/bookstack-mcp:latest'

Ansible快速分发-Containerd

#ansible k8s -m shell -a 'ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/ttpears/bookstack-mcp:latest && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/ttpears/bookstack-mcp:latest  ghcr.io/ttpears/bookstack-mcp:latest'

镜像构建历史


# 2026-07-22 13:27:04  0.00B 设置默认要执行的命令
CMD ["node" "dist/index.js"]
                        
# 2026-07-22 13:27:04  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["dumb-init" "--"]
                        
# 2026-07-22 13:27:04  0.00B 指定检查容器健康状态的命令
HEALTHCHECK {Test:[CMD-SHELL wget -qO- http://localhost:8080/health || exit 1] Interval:30s Timeout:3s StartPeriod:5s StartInterval:0s Retries:3}
                        
# 2026-07-22 13:27:04  0.00B 声明容器运行时监听的端口
EXPOSE [8080/tcp]
                        
# 2026-07-22 13:27:04  0.00B 设置环境变量 NODE_ENV MCP_TRANSPORT MCP_HTTP_HOST MCP_HTTP_PORT
ENV NODE_ENV=production MCP_TRANSPORT=http MCP_HTTP_HOST=0.0.0.0 MCP_HTTP_PORT=8080
                        
# 2026-07-22 13:27:04  0.00B 指定运行容器时使用的用户
USER mcpuser
                        
# 2026-07-22 13:27:04  3.22KB 执行命令并创建新的镜像层
RUN /bin/sh -c addgroup -g 1001 -S mcpuser && adduser -S mcpuser -u 1001 # buildkit
                        
# 2026-07-22 13:27:04  1.30KB 复制新文件或目录到容器中
COPY /app/package.json ./ # buildkit
                        
# 2026-07-22 13:27:04  18.05MB 复制新文件或目录到容器中
COPY /app/node_modules ./node_modules # buildkit
                        
# 2026-07-22 13:27:03  100.80KB 复制新文件或目录到容器中
COPY /app/dist ./dist # buildkit
                        
# 2026-07-22 13:26:53  0.00B 设置工作目录为/app
WORKDIR /app
                        
# 2026-07-22 13:26:52  3.42MB 执行命令并创建新的镜像层
RUN /bin/sh -c apk add --no-cache dumb-init wget # buildkit
                        
# 2026-04-16 04:46:50  0.00B 设置默认要执行的命令
CMD ["node"]
                        
# 2026-04-16 04:46:50  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["docker-entrypoint.sh"]
                        
# 2026-04-16 04:46:50  388.00B 复制新文件或目录到容器中
COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
                        
# 2026-04-16 04:46:50  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-04-16 04:46:47  0.00B 设置环境变量 YARN_VERSION
ENV YARN_VERSION=1.22.22
                        
# 2026-04-16 04:46:47  121.87MB 执行命令并创建新的镜像层
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="2b51a5388f6aaf8e2af65fe3bad6114db0ebd81a1ae1250b1de0cbf034b10c5d" 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-04-16 04:46:47  0.00B 设置环境变量 NODE_VERSION
ENV NODE_VERSION=20.20.2
                        
# 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:1eaaeafeb385c1cbab1e9eb7195bb414e92fcc48f58cc7e85f706fd43fa41d76",
    "RepoTags": [
        "ghcr.io/ttpears/bookstack-mcp:latest",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/ttpears/bookstack-mcp:latest"
    ],
    "RepoDigests": [
        "ghcr.io/ttpears/bookstack-mcp@sha256:27067498be9d7e0b1ec05ebb3f18197b9dd043743f56d6792aa6ab7e1d81cf70",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/ttpears/bookstack-mcp@sha256:20a8be8196b0fdcc2970a12e41c3df27be401774ed8fc417e889d9a9159629b0"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-07-22T05:27:04.218042352Z",
    "Container": "",
    "ContainerConfig": null,
    "DockerVersion": "",
    "Author": "",
    "Config": {
        "Hostname": "",
        "Domainname": "",
        "User": "mcpuser",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "ExposedPorts": {
            "8080/tcp": {}
        },
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "NODE_VERSION=20.20.2",
            "YARN_VERSION=1.22.22",
            "NODE_ENV=production",
            "MCP_TRANSPORT=http",
            "MCP_HTTP_HOST=0.0.0.0",
            "MCP_HTTP_PORT=8080"
        ],
        "Cmd": [
            "node",
            "dist/index.js"
        ],
        "Healthcheck": {
            "Test": [
                "CMD-SHELL",
                "wget -qO- http://localhost:8080/health || exit 1"
            ],
            "Interval": 30000000000,
            "Timeout": 3000000000,
            "StartPeriod": 5000000000,
            "Retries": 3
        },
        "ArgsEscaped": true,
        "Image": "",
        "Volumes": null,
        "WorkingDir": "/app",
        "Entrypoint": [
            "dumb-init",
            "--"
        ],
        "OnBuild": null,
        "Labels": null
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 157257802,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/a0bf183fc93810fbfbc7fdfe87884a3f9e4836166466342e943f1b86d409eaa5/diff:/var/lib/docker/overlay2/9fe325db23711fa13817997bf7a57cc9e6c5e5ef66e97f38e3eade47d8cbeb48/diff:/var/lib/docker/overlay2/6d711f47a886fc357bda007f275fade3840714eb843abfaae6669c34c60c7403/diff:/var/lib/docker/overlay2/a8386b287ce3e2b1910656c8bfa7ab15f92ffb09b2cb363804262434572789e5/diff:/var/lib/docker/overlay2/7741245d4bd5c3c6ced111e772941c34496a698ae53acd258d2687d88751c1ae/diff:/var/lib/docker/overlay2/2ed6fc2e0dca31effa1d44c19bb724bb01a2db80d46f9154b01de1f898993a63/diff:/var/lib/docker/overlay2/d53e1991d2705f8ebe89765d2ebff76588faa2f19188ef981f3cf6cbaac851bf/diff:/var/lib/docker/overlay2/2c59bd6a23478a0f114a0d1b6ea1f7959364523a938941c6da69193f1ab72fb5/diff:/var/lib/docker/overlay2/bd1cf78885cf3b9d31005fc12e15825eaab2f213475e21ca5b9d49621961e4de/diff",
            "MergedDir": "/var/lib/docker/overlay2/2979b73d2023ffdf55ea9a2b8c3021e66127502b926a5973edfa216ce399e5e8/merged",
            "UpperDir": "/var/lib/docker/overlay2/2979b73d2023ffdf55ea9a2b8c3021e66127502b926a5973edfa216ce399e5e8/diff",
            "WorkDir": "/var/lib/docker/overlay2/2979b73d2023ffdf55ea9a2b8c3021e66127502b926a5973edfa216ce399e5e8/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:29df493baa13de438d6d2ece3a8333032e0b7b9b9d8cce4ee82194da255f61e1",
            "sha256:4983b93ee7967564f02cbf6162b75010ce557404a539fba05ee19a0eae01acbc",
            "sha256:e10358715ead9b47009dd04bcd77ac1c8e247f7249ab06517ff913c473a8e38e",
            "sha256:afa543f85b4685a84338df3e2c429edca49bb372b0f49e0c5cc9724c820ad094",
            "sha256:5e848fc34d9f15c633a6338f0d88b5f0363f2d529bc6a798fa0e91bf8cb24ad5",
            "sha256:86aec0b14871fb296de5b8ee269f65be30dc01450beb2959282d04dc6eb711d0",
            "sha256:d3eb543b8fb95f3f9bb9105b8bfcff8232a56541250d99b430f30e3b4fe52d55",
            "sha256:4a2de34a766773e9a5c655d557c655464ea56906acdfaa81f08d6c078c1d60b1",
            "sha256:d076294681bc8be35c1f71543ccd94b529d9759641ae62a5a287a4d23d6b8a11",
            "sha256:8a4cf29eff0ed9ad10cb3233816823c58979e7d9d782e3fa0623f0f2f409af17"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-07-30T23:55:29.550040457+08:00"
    }
}

更多版本

ghcr.io/ttpears/bookstack-mcp:latest

linux/amd64 ghcr.io157.26MB2026-07-30 23:55
13
检测到您正在使用广告拦截插件,本站为公益站点,依赖广告维持运转 🙏 查看如何关闭 ×