在Python 3中开发Anaconda应用。从environment.yml文件安装依赖项并集成Python扩展。
| 元数据 | 值 |
|---|---|
| 类别 | 核心、语言 |
| 镜像类型 | Dockerfile |
| 已发布镜像 | mcr.microsoft.com/devcontainers/anaconda:3 |
| 已发布镜像架构 | x86-64、aarch64/arm64 |
| 容器主机OS支持 | Linux、macOS、Windows |
| 容器OS | Debian |
| 支持语言、平台 | Python、Anaconda |
有关已发布镜像内容的信息,请参见历史记录。
您可以通过在.devcontainer/devcontainer.json中使用image属性,或在自己的Dockerfile中将FROM语句更新为以下内容,直接引用预构建版本的.devcontainer/Dockerfile。本仓库中包含示例Dockerfile。
mcr.microsoft.com/devcontainers/anaconda有关更多详情,请参阅此指南。
您可以通过引用每个镜像的语义化版本来决定更新频率。例如:
mcr.microsoft.com/devcontainers/anaconda:1-3mcr.microsoft.com/devcontainers/anaconda:1.0-3mcr.microsoft.com/devcontainers/anaconda:1.0.0-3有关每个版本内容的信息,请参见历史记录,此处查看所有可用标签。
或者,您可以使用.devcontainer的内容完全自定义容器内容,或为镜像不支持的容器主机架构构建。
此开发容器及其关联镜像包含conda包管理器。使用Conda安装的其他包将从Anaconda或您配置的其他仓库下载。要在此容器中重新配置Conda以访问替代仓库,请参见此处的Conda通道配置信息。
Anaconda仓库的使用受Anaconda服务条款约束,某些组织可能需要从Anaconda获取商业许可。但是,当此开发容器或其关联镜像与GitHub Codespaces或GitHub Actions一起使用时,所有用户均被允许通过该服务使用Anaconda仓库,包括通常被Anaconda要求为商业活动获取付费许可的组织。请注意,第三方包的许可可能由其发布者决定,可能影响您的知识产权,使用风险自负。
默认情况下,Flask等框架仅在容器内监听localhost。因此,我们建议使用forwardPorts属性(v0.98.0+可用)使这些端口在本地可用。
json"forwardPorts": [5000]
appPort属性发布而非转发端口,因此应用需要监听*或0.0.0.0才能从外部访问。这与某些Python框架的默认设置冲突,但幸运的是forwardPorts属性没有此限制。
由于用于Python后端的JavaScript前端Web客户端代码通常需要使用基于Node.js的工具构建,您可以通过添加以下内容到devcontainer.json,使用Node功能安装任何版本的Node:
json{ "features": { "ghcr.io/devcontainers/features/node:1": { "version": "latest" } } }
此镜像基于ContinuumIO/anaconda3 docker镜像,该镜像已将defaults中的所有anaconda3包安装到基础conda环境中。建议不要在一个环境中从不同通道安装包,因为可能导致冲突。当需要从不同通道(如conda-forge)安装包时,更好的方法是创建新的conda环境。
bashconda create --name <env_name> -c <channel> --yes <package_name>
如Anaconda用户FAQ中所述,您可以通过从终端运行以下命令安装与镜像中不同版本的Python:
bashconda install python=3.6
或在Dockerfile中:
DockerfileRUN conda install -y python=3.6
使用此容器运行Jupyter notebooks。
编辑./.devcontainer/devcontainer.json文件,在forwardPorts数组中添加8888:
json// 使用'forwardPorts'使容器内的端口列表在本地可用。 "forwardPorts": [8888],
编辑./.devcontainer/devcontainer.json文件,添加postStartCommand命令以在容器创建后启动Jupyter notebook Web应用。使用nohup确保命令完成后不会被终止。日志将出现在nohup.out中。
json// 使用'postStartCommand'在容器创建后运行命令。 "postStartCommand": "nohup bash -c 'jupyter notebook --ip=0.0.0.0 --port=8888 --allow-root &'",
查看终端输出以获取包含访问令牌的正确URL:
bash[***]
在浏览器中打开URL。您可以从Web浏览器编辑和运行代码。
dev container规范镜像在devcontainers/images仓库中维护。您可以浏览每个镜像并提交issues或功能请求。
版权所有 (c) Microsoft Corporation。保留所有权利。
根据MIT许可授权。参见LICENSE。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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