
本文档面向高级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。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务