本仓库包含***AiiDAlab Docker镜像栈的Dockerfile。所有镜像均基于jupyter/minimal-notebook构建。
base – 最小化镜像,预安装AiiDA并配置AiiDA环境。base-with-services – 基于base,额外在容器中安装AiiDA服务(PostgreSQL和RabbitMQ),并在启动时自动运行。lab – 基于base,使用AiiDAlab home应用作为主要界面(同时保留标准JupyterLab界面)。full-stack – 最全面的镜像,基于lab,并预安装和启动所有服务。edge – 默认分支(main)的最新提交latest – 最新常规发布版本aiida-$AIIDA_VERSION – 指定AiiDA版本的最新常规发布(例如 aiida-2.0.0)python-$PYTHON_VERSION – 指定Python版本的最新常规发布(例如 python-3.9.13)$version – 特定发布版本(例如 2022.1001)此外,镜像也在GitHub Container Registry (ghcr.io)内部发布。合并到默认分支的拉取请求会在ghcr.io上以pr-###标签发布,以便简化开发版本的测试。
您可以直接使用Docker基于已发布的镜像启动容器,例如执行以下命令:
consoledocker run -it -p 8888:8888 aiidalab/full-stack
不过,我们建议使用AiiDAlab Launch在本地生产环境中运行镜像。
注意:在最新版本的Mac OS-X上,您需要选择不同的端口,因为8888端口已被系统服务占用。
NB_USER环境变量修改默认用户名(jovyan)及主目录位置目前不支持(#297)。本仓库使用doit自动化工具自动化相关任务,包括构建、测试和使用docker-compose本地部署Docker镜像。
要使用此系统,请先设置构建和测试环境,并安装依赖:
consolepip install -r requirements.txt
构建镜像需运行doit build(已使用docker buildx v0.8.2测试)。
构建系统会自动检测本地架构并构建对应镜像(已测试amd64和arm64)。build、tests和up命令默认使用本地检测的平台,并基于本地git仓库状态生成版本标签。您也可以通过--platform和--version参数指定自定义平台或版本,例如:doit build --arch=arm64 --version=my-version。
默认会构建所有镜像变体。可使用-t/--target指定单个目标变体,例如:doit build --target base。
测试前需先按上一节所述构建镜像。然后使用doit tests --target <base|base-with-services|lab|full-stack>为指定镜像运行自动化测试。
提示:持续集成工作流会为所有合并到默认分支的拉取请求构建、发布(在ghcr.io上以pr-###标签)并测试镜像。
如需手动测试,可使用doit up --target full-stack启动镜像,但建议使用aiidalab-launch设置生产级本地部署。
持续集成过程中,会为所有合并到默认分支的拉取请求构建linux/amd64和linux/arm64架构镜像,并推送到GitHub Container Registry(ghcr.io),标签为ghcr.io/aiidalab/*:pr-###。您可通过指定仓库和版本运行测试,例如:doit tests --registry=ghcr.io/ --version=pr-123。
本项目使用日历版本控制(如v2022.1001),并通过bumpver自动化发布流程。创建发布前,请确保您在最新的main分支上,然后运行:
consolebumpver update
该命令会更新bumpver.toml中的版本,创建提交和标签,并推送到仓库以触发构建和发布流程。
aiidalab-launch工具提供便捷可靠的方式在计算机上启动和管理一个或多个AiiDAlab实例。使用方法如下:
通过pipx安装:
consolepipx install aiidalab-launch
然后启动AiiDAlab容器:
consoleaiidalab-launch start
注意:AiiDAlab会持续运行,直到您使用aiidalab-launch stop显式停止或关闭/重启计算机。
完整命令和选项列表请参见aiidalab-launch --help。
有关其他部署方式的信息,请参见AiiDAlab文档。
AiiDAlab用户请在相关工作中引用以下文献:
A. V. Yakutovich et al., Comp. Mat. Sci. 188, *** (2021). DOI:10.1016/j.commatsci.2020.***
本工作得到MARVEL国家研究能力中心(由瑞士国家科学基金会资助)以及MaX欧洲卓越中心(由Horizon 2020 EINFRA-5计划资助,编号676598)的支持。
!MARVEL !MaX
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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