mcpField
D
docker

docker

github.com/companion-inc云与 DevOps10.0k122 次安装今天更新
代码仓库

关于 docker

用于在 Docker 容器中运行研究代码的 skill,Feynman 保留在主机上。项目文件挂载到容器,实验结果会同步回主机。

主要功能

  1. 01在容器中运行研究命令
  2. 02挂载项目文件并同步结果
  3. 03按语言选择基础镜像
  4. 04支持 GPU 工作负载
  5. 05迭代实验中复用容器

适用场景

  1. 01运行论文仓库中的代码
  2. 02安装软件包而不更改主机
  3. 03执行迭代实验
  4. 04隔离网络工作负载

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/companion-inc/feynman --skill docker

安装后在 Claude Code 中输入/docker确认已加载。

详细介绍

Docker 沙箱

在 Docker 容器中运行研究代码,同时让 Feynman 保留在主机上。容器会获取项目文件并运行命令,结果会同步回来。

适用场景

  • 用户在 /replicate 或 /autoresearch 中选择“Docker 沙箱”作为执行环境
  • 运行论文仓库中的不可信代码
  • 会安装软件包或修改系统状态的实验
  • 用户要求为 Feynman 工作流安全或隔离地运行研究代码

工作原理

  1. 为研究代码构建或拉取适当的基础镜像
  2. 将项目目录挂载到容器中
  3. 在容器内运行实验命令
  4. 结果写回挂载目录

在容器中运行命令

对于 Python 研究代码(最常见):

docker run --rm -v "$(pwd)":/workspace -w /workspace python:3.11 bash -c "
  pip install -r requirements.txt &&
  python train.py
"

对于包含 Dockerfile 的项目:

docker build -t feynman-experiment .
docker run --rm -v "$(pwd)/results":/workspace/results feynman-experiment

对于 GPU 工作负载:

docker run --rm --gpus all -v "$(pwd)":/workspace -w /workspace pytorch/pytorch:latest bash -c "
  pip install -r requirements.txt &&
  python train.py
"

选择基础镜像

研究类型基础镜像
Python ML/DLpytorch/pytorch:latest 或 tensorflow/tensorflow:latest-gpu
Python 通用python:3.11
Node.jsnode:20
R / 统计学rocker/r-ver:4
Juliajulia:1.10
多语言使用手动安装的 ubuntu:24.04

持久化容器

对于迭代式实验(例如 /autoresearch),请创建命名容器,而不是使用 --rm。根据实验选择一个描述性名称:

docker create --name <name> -v "$(pwd)":/workspace -w /workspace python:3.11 tail -f /dev/null
docker start <name>
docker exec <name> bash -c "pip install -r requirements.txt"
docker exec <name> bash -c "python train.py"

这样可以在多轮迭代之间保留已安装的软件包。使用以下命令清理:

docker stop <name> && docker rm <name>

说明

  • 挂载的工作区会自动将结果同步回主机
  • 容器默认启用网络;如需完全隔离,请添加 --network none
  • 如需访问 GPU,必须使用 NVIDIA Container Toolkit 配置 Docker

评论

支持 Markdown