linuxserver/foldingathomeFolding@home是一个分布式计算项目,用于模拟蛋白质动态,包括蛋白质折叠过程和与多种疾病相关的蛋白质运动。它汇聚了志愿贡献个人电脑计算资源的公民科学家,通过这些数据,科学家能更好地理解生物学,并为开发治疗方法提供新机会。
上的实例,这在Docker容器中无法实现。因此,升级到v8需注册在线账户,获取账户令牌,并通过新环境变量ACCOUNT_TOKEN及MACHINE_NAME(友好名称)进行设置。
Nvidia硬件加速用户需在主机上安装Nvidia提供的容器运行时,安装说明见:[***]--runtime=nvidia,并添加环境变量-e NVIDIA_VISIBLE_DEVICES=all(也可设为特定GPU的UUID,可通过nvidia-smi --query-gpu=gpu_name,gpu_uuid --format=csv查看)。Nvidia会自动将主机的GPU和驱动挂载到Folding@home容器中。
此镜像可在只读容器文件系统下运行,详情请参阅文档。
以下提供docker-compose和docker cli两种使用方式帮助您创建容器。
[!NOTE] 除非标记为“可选”,否则所有参数为必填项,必须提供值。
yaml--- services: foldingathome: image: lscr.io/linuxserver/foldingathome:latest container_name: foldingathome environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - ACCOUNT_TOKEN= - MACHINE_NAME= - CLI_ARGS= #可选 volumes: - /path/to/foldingathome/data:/config ports: - 7396:7396 #可选 restart: unless-stopped
bashdocker run -d \ --name=foldingathome \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e ACCOUNT_TOKEN= \ -e MACHINE_NAME= \ -e CLI_ARGS= `#optional` \ -p 7396:7396 `#optional` \ -v /path/to/foldingathome/data:/config \ --restart unless-stopped \ lscr.io/linuxserver/foldingathome:latest
容器通过运行时参数配置(如上述示例)。参数格式为<外部>:<内部>,例如-p 8080:80表示将容器内80端口映射到主机8080端口。
| 参数 | 功能 |
|---|---|
-p 7396 | Folding@home Web界面(重定向至[***] |
-e PUID=1000 | 用户ID - 详见下文说明 |
-e PGID=1000 | 组ID - 详见下文说明 |
-e TZ=Etc/UTC | 指定时区,详见时区列表。 |
-e ACCOUNT_TOKEN= | 在[***] |
-e MACHINE_NAME= | 为此实例分配友好名称(无空格),首次启动时必填。 |
-e CLI_ARGS= | 可选,在容器启动时向fah-client传递额外命令行参数。 |
-v /config | Folding@home存储数据库和配置文件的路径。 |
--read-only=true | 以只读文件系统运行容器,详情请阅读文档。 |
可通过特殊前缀FILE__从文件设置任何环境变量。例如:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable
这将根据/run/secrets/mysecretvariable文件内容设置环境变量MYVAR。
所有镜像支持通过可选环境变量-e UMASK=022覆盖容器内服务的默认umask设置。注意umask不是chmod,它基于值减少权限而非增加,使用前请参阅相关说明。
使用卷(-v参数)时,主机OS与容器间可能出现权限问题。通过指定用户PUID和组PGID可避免此问题。确保主机上的卷目录归指定用户所有,权限问题将迎刃而解。
示例中PUID=1000和PGID=1000,可通过id your_user命令查看您的ID:
bashid your_user
输出示例:
textuid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
我们发布多种Docker Mods以扩展容器功能。上述动态徽章链接可访问此镜像专用Mods及适用于所有镜像的通用Mods列表。
容器运行时Shell访问:
bashdocker exec -it foldingathome /bin/bash
实时监控容器日志:
bashdocker logs -f foldingathome
容器版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' foldingathome
镜像版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/foldingathome:latest
大多数镜像为静态、版本化,需更新镜像并重建容器以更新内部应用。除特殊说明外,不建议或支持在容器内更新应用。请参考上文应用设置部分确认是否适用于此镜像。
更新镜像:
所有镜像:
bashdocker-compose pull
单个镜像:
bashdocker-compose pull foldingathome
更新容器:
所有容器:
bashdocker-compose up -d
单个容器:
bashdocker-compose up -d foldingathome
清理旧镜像:
bashdocker image prune
更新镜像:
bashdocker pull lscr.io/linuxserver/foldingathome:latest
停止运行中的容器:
bashdocker stop foldingathome
删除容器:
bashdocker rm foldingathome
使用相同参数重建容器(若卷映射正确,/config文件夹及设置将保留)
清理旧镜像:
bashdocker image prune
[!TIP] 推荐使用Diun接收更新通知。不建议或支持使用其他自动更新容器的工具。
如需本地修改镜像进行开发或自定义:
bashgit clone [***] cd docker-foldingathome docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/foldingathome:latest .
可使用lscr.io/linuxserver/qemu-static在x86_64硬件上构建ARM变体,反之亦然:
bashdocker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
注册后,可通过-f Dockerfile.aarch64指定架构对应的Dockerfile。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务