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账户的新许可证授权:
mathematicaIn[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字符串:
mathematicaIn[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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429