我希望用docker建立一些生物信息学分析。
我找到了两个我想使用的码头图片:
我已成功独立运行这些图像,但我不知道如何将它们合并在一起。
是否可以合并两个泊坞容器?或者你从一个开始,然后手动安装另一个的功能?
答案 0 :(得分:7)
您不能只合并图像。您必须根据所需的每个图像中的内容重新创建自己的图像。您可以下载这两个图像并为每个图像重新创建Docker文件:
docker history --no-trunc=true image1 > image1-dockerfile
docker history --no-trunc=true image2 > image2-dockerfile
将image1和image2替换为您要查看其历史记录的图像。在此之后,您可以使用这些dockerfiles来构建您自己的图像,这是两者的组合。
美中不足的是,任何ADD或COPY命令都不会显示复制的内容,因为您无权访问创建原始图像的本地文件系统。如果运气没有必要,或者您可以从图像本身中获取任何缺失的部分。
答案 1 :(得分:0)
从一个开始,然后手动安装另一个的功能。合并将是复杂的,太多的未知数。
答案 2 :(得分:0)
如果要从两个映像之一中挑选特定的文件或目录,则可以创建一个新的Dockerfile,该文件构建其中的FROM
并使用以下命令从另一个复制特定路径COPY's --from option。例如:
FROM bioconductor/devel_base
COPY --from=jupyter/datascience-notebook /path/to/something-you-want /path
但是,对这些图像的快速调查显示,在这种特定情况下,没有很多东西可以轻易被挑选出来。
或者,您可以只查看原始Dockerfile并将其自己组合:
幸运的是,它们都基于一个基于APT的发行版:Ubuntu和Debian。因此,如果您选择任一基本映像,大多数apt-get install命令应该可以正常工作。