kitware/vtk-wasm-sdk该Dockerfile构建了一个自包含的VTK C++版本,使得链接VTK的CMake项目无需从源码编译VTK,即可开发面向WebAssembly的应用(支持浏览器内外环境)。
emcmake、cmake等构建工具,简化项目配置与构建流程适用于需要基于VTK库开发WebAssembly应用的C++项目,尤其适合希望避免手动编译VTK源码的开发者,可快速搭建VTK WebAssembly开发环境。
以下载VTK仓库中的C++示例为例:
shell$ curl -L --output Cone.zip "[***]" $ unzip -j Cone.zip -d Cone ## 此时Cone目录下应包含以下文件 $ ls Cone CMakeLists.txt Cone.cxx index.html README.md
shell$ docker run \ --rm \ -u $(id -u):$(id -g) \ -v $(pwd)/Cone:/Cone \ kitware/vtk-wasm-sdk \ emcmake cmake -S /Cone -B /Cone/build -DCMAKE_BUILD_TYPE=Release -DVTK_DIR=/VTK-install/Release/wasm32/lib/cmake/vtk
shell$ docker run \ --rm \ -u $(id -u):$(id -g) \ -v $(pwd)/Cone:/Cone \ kitware/vtk-wasm-sdk \ cmake --build /Cone/build
shell$ python3 -m http.server -d ./Cone/build 8080
在浏览器中访问 http://localhost:8080 即可查看应用。
| 部分 | 描述 |
|---|---|
docker run | 标准命令,用于在容器中执行命令 |
--rm | 执行后自动删除容器 |
-u $(id -u):$(id -g) | 以与本地用户相同的UID和GID运行容器,确保生成的文件对非root用户可访问 |
-v $(pwd)/Cone:/Cone | 将主机当前目录下的Cone文件夹挂载到容器内的相同路径 |
kitware/vtk-wasm-sdk | 使用该容器的最新标签 |
emcmake cmake ... | 在容器内执行emcmake命令,配置CMake项目 |
该镜像支持以下可选构建参数:
| 参数 | 描述 |
|---|---|
BUILD_DATE | 容器元数据的日期戳 |
SCCACHE_REDIS | sccache的Redis URL |
IMAGE_NAME | 容器元数据的镜像名称 |
IMAGE_TAG | 容器元数据的镜像标签 |
REVISION | 容器元数据的Git修订版本 |
SOURCE_URL | 容器元数据的VTK源码URL |
VERSION | 容器元数据的VTK版本号 |
以下命令将在本地机器上按指定标签构建镜像:
shell# 使用docker构建 $ docker build \ --network host \ --build-arg=BUILD_DATE=$(date) \ --build-arg=VERSION=9.3.0 \ --tag kitware/vtk-wasm-sdk:v9.3.0 \ .
直接使用docker build命令时,--tag参数应与VTK的发布版本匹配。
如需将本地镜像推送到默认Docker仓库,需先通过docker login登录,确保具有推送权限:
shell# 使用docker推送 $ docker push kitware/vtk-wasm-sdk:v9.3.0
若推送最新版本,还需将其标记为latest并推送:
shell# 使用docker cli docker tag kitware/vtk-wasm-sdk:v9.3.0 kitware/vtk-wasm-sdk:latest docker push kitware/vtk-wasm-sdk:latest





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务