
bioconductor/bioconductor_docker中,包含运行所需的所有依赖项。容器可在任何操作系统(包括 Windows 和 Mac,需现代 Linux 内核支持)上通过 Docker 引擎 运行,也可通过 Amazon Elastic Container Service、Google Kubernetes Engine 或 Microsoft Azure Container Instances 部署在云端。
Bioconductor Docker 镜像基于 Rocker Project 的 rocker/rstudio 镜像构建,旨在提供包含 Bioconductor 生态系统和 RStudio 的标准化运行环境,支持数据分析、 reproducible 研究和包开发。
RELEASE_X_Y 或 devel)的容器可确保多年后仍能复现相同的运行环境。devel 镜像尽可能复现 Bioconductor Linux 构建机(malbec2)环境,便于开发者调试包构建问题。AnVIL::install(<包名>) 可快速安装 Bioconductor 二进制包,避免编译耗时。devel 镜像复现 Bioconductor 构建环境,调试包在 Linux 上的兼容性问题。首先在本地机器安装 Docker 引擎。
bashdocker run \ -e PASSWORD=bioc \ # 设置 RStudio 密码(不可为 'rstudio') -p 8787:8787 \ # 端口映射:容器 8787 端口 → 主机 8787 端口 bioconductor/bioconductor_docker:devel # 镜像名称(devel 为开发版,RELEASE_X_Y 为稳定版)
在浏览器中打开 http://localhost:8787,使用用户名 rstudio 和步骤 2 中设置的密码(如 bioc)登录。
Bioconductor 为每个支持的版本提供以下镜像,托管于 Docker Hub,源码位于 GitHub:
bioconductor/bioconductor_docker:RELEASE_X_Y(如 RELEASE_3_18)bioconductor/bioconductor_docker:devel注意:若未指定标签,默认使用
latest标签,指向最新稳定版。
拉取镜像
bashdocker pull bioconductor/bioconductor_docker:devel # 拉取开发版 # 或拉取稳定版 docker pull bioconductor/bioconductor_docker:RELEASE_3_18
启动 RStudio 服务
bashdocker run -e PASSWORD=<自定义密码> -p 8787:8787 bioconductor/bioconductor_docker:devel
-e PASSWORD=<密码>:必选,设置 RStudio 登录密码(不可为 rstudio)。-p 8787:8787:端口映射,将容器的 RStudio 端口映射到主机。--user rstudio:指定以 rstudio 用户运行(默认),避免权限问题。命令行启动 R
bashdocker run -it --user rstudio bioconductor/bioconductor_docker:devel R
启动 Bash 终端
bashdocker run -it --user rstudio bioconductor/bioconductor_docker:devel bash
通过 -v 参数挂载主机目录到容器,实现文件共享或持久化安装包:
bashdocker run \ -v /本地路径:/容器路径 \ # 挂载卷(示例:主机 ~/data → 容器 /home/rstudio/data) -e PASSWORD=bioc \ -p 8787:8787 \ bioconductor/bioconductor_docker:devel
常用挂载路径:
/usr/local/lib/R/host-site-library:挂载主机 R 包目录,容器中可直接使用已安装包。/home/rstudio:挂载主机目录到容器用户目录,持久化保存分析结果。通过 docker-compose.yml 简化配置,支持自动挂载包目录和数据卷:
yamlversion: '3' services: bioconductor: image: bioconductor/bioconductor_docker:RELEASE_3_18 ports: - "8787:8787" environment: - PASSWORD=bioc # RStudio 密码 volumes: # 挂载包目录(自动匹配 Bioconductor 版本,如 3.18) - ${HOME}/R/bioconductor_docker/3.18:/usr/local/lib/R/host-site-library # 挂载数据目录(可选) - ${HOME}/R/data:/home/rstudio/data
启动容器:
bashdocker-compose up # 前台运行(加 -d 后台运行:docker-compose up -d)
基于官方镜像扩展,添加自定义依赖(如 Python 包、LaTeX 等),需创建 Dockerfile 并构建。
dockerfile# 继承官方开发版镜像 FROM bioconductor/bioconductor_docker:devel # 安装 Python 包 tensorflow RUN apt-get update && \ pip install tensorflow && \ # 使用 pip 安装 Python 包 apt-get clean && rm -rf /var/lib/apt/lists/* # 清理缓存,减小镜像体积 # 安装 Bioconductor 包 scAlign RUN R -e 'BiocManager::install("scAlign")'
构建自定义镜像:
bashdocker build -t my_bioc_image:devel . # -t 指定镜像名称和标签
启动自定义镜像:
bashdocker run -e PASSWORD=bioc -p 8787:8787 my_bioc_image:devel
dockerfileFROM bioconductor/bioconductor_docker:devel # 安装 LaTeX 及相关依赖 RUN apt-get update && \ apt-get install -y --no-install-recommends \ texlive \ texlive-latex-extra \ texlive-fonts-extra \ texlive-bibtex-extra \ texlive-science && \ apt-get clean && rm -rf /var/lib/apt/lists/* # 安装 BiocStyle(用于 vignette 编译) RUN R -e 'BiocManager::install("BiocStyle")'
Bioconductor 镜像可转换为 Singularity 格式,适用于无管理员权限的计算集群。
在集群中加载 Singularity 模块(需联系 IT 部门):
bashmodule load singularity # 具体命令因集群而异
bashsingularity pull docker://bioconductor/bioconductor_docker:devel
bashsingularity exec bioconductor_docker_devel.sif R # 启动 R # 或启动 RStudio(需配置端口转发,具体参考集群文档)
Bioconductor 镜像同步托管于 Microsoft Container Registry,可直接拉取:
bashdocker pull mcr.microsoft.com/bioconductor/bioconductor_docker:devel # 开发版 # 或最新稳定版 docker pull mcr.microsoft.com/bioconductor/bioconductor_docker:latest
安装 Azure CLI 并登录:
bashaz login
创建资源组(若不存在):
bashaz group create --name myResourceGroup --location eastus
启动容器实例(暴露 RStudio 端口 8787):
bashaz container create \ --resource-group myResourceGroup \ --name bioconductor-aci \ --image mcr.microsoft.com/bioconductor/bioconductor_docker:devel \ --cpu 2 \ # 分配 2 核 CPU --memory 4 \ # 分配 4GB 内存 --dns-name-label my-bioc-instance \ # 自定义 DNS 标签(需唯一) --ports 8787 \ # 暴露 8787 端口 --environment-variables PASSWORD=bioc # 设置 RStudio 密码
访问 RStudio: 获取容器 FQDN(完全限定域名):
bashaz container show \ --resource-group myResourceGroup \ --name bioconductor-aci \ --query "ipAddress.fqdn" --output tsv
在浏览器中打开 http://<FQDN>:8787,使用用户名 rstudio 和密码 bioc 登录。
| 参数/环境变量 | 说明 | 示例值 |
|---|---|---|
-e PASSWORD=<值> | 必选,设置 RStudio 登录密码,不可为 rstudio。 | bioc |
-p <主机端口>:8787 | 端口映射,将容器 RStudio 端口(8787)映射到主机端口。 | 8787:8787 |
--user rstudio | 指定以 rstudio 用户运行(默认),避免权限问题。 | - |
-v <主机路径>:<容器路径> | 挂载卷,共享主机文件或持久化数据。 | ~/data:/home/rstudio/data |
bioconductor/release_core、bioconductor/devel_core 等镜像已弃用。bioconductor/bioconductor_docker 系列镜像。欢迎通过 GitHub 仓库 贡献代码、报告问题或提出改进建议。提交 PR 前请确保符合项目贡献指南。
Bioconductor Docker 镜像基于 Rocker Project 的 rocker/rstudio 构建,感谢 Rocker 团队的基础支持。同时感谢 Microsoft 提供 Azure Container Registry 托管服务。






manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务