本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
14.3、14.3.0、latestwolframresearch/wolframengine:<version>基础镜像:ubuntu:22.04
这是标准镜像,仅包含原版Wolfram Engine和WolframScript命令行包装器。
wolframresearch/wolframengine:<version>-cuda基础镜像:nvidia/cuda:10.2-base-ubuntu18.04
CUDA镜像变体目前不支持。
该镜像包含标准Wolfram Engine和WolframScript,以及MXNetResources paclet,用于利用Wolfram语言的机器学***和神经网络功能进行GPU加速。此镜像需要受支持的NVIDIA GPU和NVIDIA容器运行时。如果MXNetResources paclet发布新版本,此镜像可能在Wolfram Engine版本之间更新。
Wolfram Engine Docker镜像允许您以交互或脚本模式运行Wolfram语言。
Wolfram Engine使您能够访问Wolfram语言。请参阅:
Wolfram Engine有两种许可方式可供使用。您可以根据应用程序需求选择其中一种。
mathpass文件写入磁盘(不要与您的账户密码混淆)。此方式允许您使用Wolfram Engine Community Edition许可证,但您只能在有限数量的机器上激活Wolfram Engine(通常为两台)。此方法可能不适用于容器可能被调度到多个物理或虚拟节点的环境,如Kubernetes或Docker Swarm集群。首先访问Wolfram Research网站获取Wolfram Engine Community Edition许可证。您需要注册Wolfram ID并接受使用条款。
要激活Wolfram Engine,需要以交互模式运行Docker容器。将***替换为您自己的Wolfram ID,并在密码提示处输入您的密码。
Wolfram Engine激活后,在In[1]提示符处输入"$PasswordFile"并按Enter。输出将显示密码文件的位置。接下来,在In[2]提示符处输入"$PasswordFile // FilePrint"以打印密码文件内容。然后,在In[3]提示符处输入"Quit"并按Enter退出Wolfram Engine。
> docker run -it wolframresearch/wolframengine The Wolfram Engine requires one-time activation on this computer. Visit [***] to get your free license. Wolfram ID: *** Password: Wolfram Engine activated. See [***] for more information. Wolfram Language 12.2.0 Engine for Linux x86 (64-bit) Copyright 1988-2020 Wolfram Research, Inc. In[1]:= $PasswordFile Out[1]= /home/wolframengine/.WolframEngine/Licensing/mathpass In[2]:= $PasswordFile // FilePrint 1e1d781ed0a3 6520-03713-97466 4304-2718-2K5ATR 5095-179-696:2,0,8,8:80001:20190627 In[3]:= Quit
由于容器内的文件系统更改不会持久化到启动容器的镜像中,当您重新启动并再次运行镜像时,此密码信息会丢失。因此,您需要将密码信息复制到主机,以便持久存储。
在主机上创建一个Licensing目录来存放密码文件:
mkdir Licensing
使用文本编辑器创建名为mathpass的文件,将步骤1中In[2]的输出(密码内容)复制粘贴到该文件中并保存。现在,Licensing目录中应该有一个mathpass文件,其中包含一行四个字段。这些字段(仅供参考)分别表示机器名称、唯一机器标识符、激活密钥和密码。
要使用主机上的密码文件启动Wolfram Engine,请使用-v选项将./Licensing目录挂载到Docker容器的/usr/share/Mathematica/Licensing路径。如果一切正常,您现在可以反复启动此Docker容器,并将其作为自定义开发项目的起点。
> docker run -it -v ./Licensing:/usr/share/Mathematica/Licensing wolframresearch/wolframengine Wolfram Language 12.2.0 Engine for Linux x86 (64-bit) Copyright 1988-2020 Wolfram Research, Inc. In[1]:= $MachineName Out[1]= 861d2b5cd33f In[2]:= $Version Out[2]= 12.2.0 for Linux x86 (64-bit) (December 12, 2020)
或者,可以使用docker commit命令创建包含正在运行容器中创建的mathpass文件的新镜像。
$PasswordFile中的新密码复制到主机的mathpass文件中(基本上重复前面的步骤1和2)。按需许可证授权是可重复使用的密钥,可用于激活一个或多个Wolfram Engine内核。创建授权需要访问Wolfram语言。如果您没有Wolfram Mathematica、Wolfram|One订阅或其他Wolfram语言产品,可以注册免费的Wolfram Cloud Basic订阅,并在云笔记本中创建授权。
计算CreateLicenseEntitlement函数以创建链接到您Wolfram账户的新许可证授权:
In[1]:= entitlement = CreateLicenseEntitlement[] Out[1]= LicenseEntitlementObject[O-WSTD-DA42-GKX4Z6NR2DSZR, <| PolicyID -> WSTD, PolicyName -> Standard, BillingInterval -> 900 seconds, KernelCosts -> <|Standard -> 4. credits per hour, Parallel -> 4. credits per hour|>, KernelLimits -> <|Standard -> 1, Parallel -> 0|>, CreationDate -> DateObject[{2020, 12, 18, 10, 57, 40.}, Instant, Gregorian, -5.], ExpirationDate -> DateObject[{2020, 12, 25, 10, 57, 40.}, Instant, Gregorian, -5.], LicenseExpirationDuration -> 1 day 0. hours|>]
获取授权ID字符串:
In[2]:= entitlement["EntitlementID"] Out[2]= O-WSTD-DA42-GKX4Z6NR2DSZR
要使用按需许可证授权激活Wolfram Engine内核,请通过-entitlement命令行选项向WolframScript提供授权ID:
$ docker run -it wolframresearch/wolframengine wolframscript -entitlement O-WSTD-DA42-GKX4Z6NR2DSZR Wolfram Language 12.2.0 Engine for Linux x86 (64-bit) Copyright 1988-2020 Wolfram Research, Inc. In[1]:= $MachineName Out[1]= 652d62ac0fa4 In[2]:= $Version Out[2]= 12.2.0 for Linux x86 (64-bit) (December 12, 2020)
(授权ID也可以通过WOLFRAMSCRIPT_ENTITLEMENTID环境变量提供给WolframScript。)
启动内核时,您的服务积分余额会被扣费,并且在终止内核之前会定期扣费。如果返回创建授权的Wolfram语言会话,可以请求授权的状态属性:
In[3]:= entitlement["CreditsSpent"] Out[3]= 1 credit
活动内核数量已增加:
In[4]:= entitlement["StandardKernelActiveCount"] Out[4]= 1
有关授权表达式的可用属性,请参阅LicenseEntitlementObject文档。
CreateLicenseEntitlement函数有几个默认设置您可能需要修改:
"StandardKernelLimit"/"ParallelKernelLimit":默认分别为1和0。这些设置确定使用授权可以激活的每种类型Wolfram Engine内核的最大并发运行数量。"StandardKernelLimit"适用于常规内核(如通过命令行启动的内核),而"ParallelKernelLimit"适用于通过LaunchKernels启动的并行子内核以及ParallelEvaluate等并行函数。如果要同时运行多个Wolfram Engine内核,请提高这些值。"LicenseExpiration":默认24小时。此设置确定使用授权启动的Wolfram Engine内核的最大运行时长。默认24小时情况下,内核运行超过24小时后将被终止。如果应用程序需要长时间运行的Wolfram Engine内核,请提高此值。"EntitlementExpiration":默认7天。此设置确定许可证授权本身的过期日期,即授权ID不再可用于激活新内核的日期。如果要在较长时间内使用相同的授权ID启动多个内核,请提高此值。此值可以设置为持续时间或未来的绝对日期。有关可用设置的更多信息,请参阅CreateLicenseEntitlement函数文档。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429