
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本文档面向高级DSMLP用户(包括学生和教师),旨在指导如何通过自定义Docker容器在工作环境中添加或修改应用程序。
对于支持CUDA的镜像,请切换到cuda-10.1https://github.com/ucsd-ets/datahub-example-notebook/tree/cuda10.1%E8%8E%B7%E5%8F%96%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%E3%80%82
Docker镜像是打包了应用程序、依赖项和底层操作系统的快照。用户可在任何运行Docker平台的机器上使用相同的Docker镜像,并获得一致的软件功能和行为。DockerHub是公共容器 registry,可用于下载("pull")和上传("push")Docker镜像,类似于GitHub托管git仓库的方式。本指南将通过修改Dockerfile设计自定义Docker镜像,构建镜像并发布到DockerHub。
构建和维护Docker镜像遵循三个基本步骤:构建、共享和部署/测试。可能需要多次重复这些步骤,直至达到预期效果。Docker官方教程展示了通用案例,本文档则专为DSMLP用户定制。
Dockerfile。通过取消注释设置BASE_CONTAINER参数的对应行选择基础容器:
datascience-notebook基础镜像包含conda和数据科学基础Python包(pandas、scipy、matplotlib),基于miniconda。scipy-ml镜像包含更广泛的包(如tensorflow、pytorch),支持CUDA 10,通常用于GPU加速工作流。scipy-ml功能更丰富,但构建过程可能更长,生成的镜像体积更大。使用USER root获取root权限以安装系统包(已预先添加)。
使用apt-get安装系统级包:
htop。apt-get -y install htop ping。安装conda包:
RUN conda install --yes <package1> <package2>一次性安装所有所需conda包。RUN conda clean -tipy减小镜像体积。安装pip包:
pip install --no-cache-dir <package>。保留Dockerfile其余部分不变。
本步骤将使用创建的Dockerfile构建镜像,有两种方式:
docker build -t test .:Docker将根据本地Dockerfile构建镜像,标记为test。若构建失败,记录Docker最后运行的命令并开始调试,编辑Dockerfile后重新运行命令。docker run --rm -it test /bin/bash进入容器测试功能。使用exit退出后容器将自动删除。docker tag test <dockerhub-username>/<dockerhub-repo>,然后推送:docker push <dockerhub-username>/<dockerhub-repo>。docker run -it test /bin/bash启动持久容器,使用CTRL+P-Q分离,通过docker ps找到运行中的容器,执行docker commit CONTAINER_ID <dockerhub-username>/<dockerhub-repo>,然后docker push <dockerhub-username>/<dockerhub-repo>。master,而GitHub默认分支已更改为main。dsmlp-login.ucsd.edu。launch-scipy-ml.sh -i <dockerhub-username>/<dockerhub-repo> -P Always:-P标志强制docker主机同步最新镜像清单。注意:Docker镜像名称格式为<user>/<image>:<tag>,若未指定:<tag>,默认使用:latest。在构建步骤中使用v1或test等标签可控制同一镜像的不同版本。kubectl logs <pod-name>或联系ETS服务台寻求帮助。-n <node-number>到启动命令末尾,使用同一节点减少启动时间(无需重复下载)。CMD ["/bin/bash"]覆盖默认可执行文件。也可手动在dsmlp-login上启动Notebook并端口转发:kubectl port-forward pods/<POD_NAME> <DSMLP_PORT>:8888。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务