Tag: 生物信息学

一次性CLI应用程序的Docker

自从我第一次知道Docker以来,我认为这可能是我们通常在实验室面临的几个问题的解决scheme。 我是一个小型生物研究组的数据分析师。 我正在使用Snakemake来为我们的分析定义通常很大且相当复杂的工作stream程。 在Snakemake中,我通常使用R,Python甚至命令行应用程序(如alignment器或注释工具)来调用小脚本。 在这种情况下,遭受依赖地狱的情况并不less见,因此我正考虑在Docker容器中封装一些工具。 在这一刻,我陷入了一个不知道我select的技术是否糟糕,或者我无法正确理解Docker的所有信息的问题。 这个问题与你必须以root身份运行Docker工具有关,这是我根本不想做的事情,因为最初的想法是让每个愿意使用它们的研究人员都能使用docker化的应用程序。 在AskUbuntu中 ,投票最多的答案是build议将最终用户添加到docker组中,但似乎这不利于安全性。 另一方面, 在Docker的安全性文章中 ,他们解释说,以root身份运行这些工具对您的安全性是有利的。 我在SO上发现了类似的问题 ,但与容器内部的环境有关。 好吧,我对这个没有任何问题,但是随着每一个中等复杂度的例子,我碰巧发现,它似乎更倾向于Web应用程序开发,系统最初可以启动容器,然后忘记它。 我现在正在考虑的事情是: 将Docker守护程序configuration为启用TLS的 TCP远程服务,并向相应的用户提供证书。 运行应用程序会有什么开销吗? 安全问题? 通过共享/ usr / local / bin /卷或类似的方法创build仅向主机提供应用程序的映像。 这是安全的吗? 你怎么能创build一个不需要执行任何东西的守护进程的容器? 我发现的唯一例子意味着创build一个无限循环 。 nucleotid.es页面似乎做了类似于我想要的东西,但我没有发现任何安全问题的参考。 也许他们正在虚拟机中运行所有的容器,他们不必担心这些问题,因为他们不需要将docker化的应用程序暴露给更多的人。 对不起,我的详细程度。 我只是想写下我卡在哪里的心理过程(可能有缺陷,我知道,我知道)。 总结一下: 有没有可能创build一个dockerized命令行应用程序,不需要使用sudo运行,可用于同一服务器中的几个人,而不是以守护进程的方式运行? 先谢谢你。 问候。

Dockerfile由于E:没有find版本x for y而失败

我写了下面的Dockerfile: FROM ubuntu:14.04 MAINTAINER X # Setup OS RUN apt-get update -y && apt-get upgrade -y RUN apt-get -y install python-software-properties RUN apt-get -y install software-properties-common RUN add-apt-repository ppa:nebc/bio-linux RUN apt-get update RUN apt-get install -y wget RUN apt-get install -y python-setuptools python-docutils python-pip #RUN pip install snakemake RUN apt-get install -y emboss=6.6.0+dfsg-2biolinux1 RUN apt-get […]