是的,bioconductor/bioconductor_docker:RELEASE_X_Y 包在安装 CRAN 包时默认使用固定的快照。这个默认行为可以在 Dockerfile 中定制化,具体方法如下:
首先,需要在 Dockerfile 中添加以下行以获取 CRAN 快照:
RUN R -e 'install.packages("checkpoint")' RUN R -e 'checkpoint::checkpoint("YYYY-MM-DD", checkpointLocation = "/checkpoint/")'
其中,YYYY-MM-DD 是需要安装的 CRAN 包的日期,/checkpoint/ 是快照的本地位置。这种方法可以确保安装的 CRAN 包是特定日期时的最新版本。然后,使用 bioconductor/bioconductor_docker 来创建 Docker 容器并从快照安装 CRAN 包:
docker run -it bioconductor/bioconductor_docker:RELEASE_X_Y bash R -e 'install.packages("package_name")'
其中 package_name 是需要安装的特定 CRAN 包的名称。在这个示例中,将安装 date 函数,快照为 2021 年 12 月 01 日:
RUN R -e 'install.packages("checkpoint")' RUN R -e 'checkpoint::checkpoint("2021-12-01", checkpointLocation = "/checkpoint/")' R -e 'install.packages("date")'