我在试着分析Seurat的单细胞RNAseq数据。
最近,我遇到了码头生态系统,似乎非常可复制。我试过三种礼节,但都失败了。你有什么想法或好消息吗?
环境:
1.通过installer2.r命令构建安装Seurat包的rocker/tidyverse容器。
这是一个Dockerfile。
FROM rocker/tidyverse
RUN apt update
# install Seurat package via a install2.r liner
RUN install2.r Seurat --error --deps TRUE --skipinstalled --ncpus -1
这是一个码头公司的文件。
version: '3'
services:
rocker:
build:
context: .
dockerfile: ./Dockerfile
container_name: rocker
hostname: rocker
ports:
- '8787:8787'
environment:
- PASSWORD=pass
但
Docker-compose up --build
返回错误。总之,“一个或多个包的安装失败,可能是‘Cairo’,‘mutoss’,‘ggrastr’,‘metap’”。
2.构建安装RStudio-server的Seurat容器。
这是一个Dockerfile。
FROM satijalab/seurat:latest
RUN apt update
# install prerequisites
RUN apt install -y \
ca-certificates \
libssl-dev \
libcurl4-openssl-dev \
libxml2-dev \
libssh2-1-dev
# install rstudio-server for Ubntu20
RUN wget https://download2.rstudio.org/server/debian9/x86_64/rstudio-server-2021.09.2-382-amd64.deb
RUN apt install -y ./rstudio-server-2021.09.2-382-amd64.deb
RUN rm rstudio-server-2021.09.2-382-amd64.deb
这是一个码头公司的文件。
version: '3'
services:
seurat:
build:
context: .
dockerfile: ./Dockerfile
container_name: seurat
hostname: seurat
ports:
- '0.0.0.0:8787:8787'
environment:
- PASSWORD=pass
tty: true
stdin_open: true
它成功地创建了一个容器。然后我访问了"http://localhost:8787/",它返回了“ERR_EMPTY_RESPONSE,我怀疑rstudio没有运行。
docker exec -it seurat bash
然后
rstudio-server start
它返回“/usr/lib/rstudio/bin/rserver:在加载共享库时出错: libssl.so.1.0.2:无法打开共享对象文件:没有这样的文件或目录。”
似乎出现了libssl包版本错误。我改变了码头的文件,
RUN apt install -y libssl-dev
到,
RUN apt install -y libssl1.0.2
但它没有返回任何发现错误的包。
3.建造摇臂/潮汐容器。登录到RStudio服务器。install.packages("Seurat")
简单地说,我可以通过访问localhost:8787构建并登录到rocker/tidyverse容器。
然后我试着安装Seurat软件包
install.packages("Seurat")
乍一看,安装似乎成功了。但
library(Seurat)
回来了,
Error: package or namespace load failed for ‘Seurat’ in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/home/rstudio/R/x86_64-pc-linux-gnu-library/4.1/igraph/libs/igraph.so':
libglpk.so.40: cannot open shared object file: No such file or directory
发布于 2022-02-13 19:37:28
Satija实验室已经构建了带有Rocker+Seurat的码头集装箱,所以如果你只是在学习Docker,最好使用他们的图像。否则,它们的Dockerfile可在GitHub上使用。
https://stackoverflow.com/questions/71098052
复制相似问题