Ele*_*ore 12 docker dockerfile docker-container
我需要创建一个使用大文件的Docker镜像(以及因此来自该图像的容器)(包含基因组数据,因此大小达到~10GB).
我该如何优化他们的使用?我应该将它们包含在容器中(例如COPY large_folder large_folder_in_container)吗?有没有更好的方法来引用这些文件?关键是我在我的私有存储库中推送这样的容器(大于10GB)听起来很奇怪.我想知道是否有一种方法可以将一种体积附加到容器上,而无需将所有这些GB包装在一起.
谢谢.
dne*_*hin 15
有没有更好的方法来引用这些文件?
如果您已经有某种方式来分发数据,我将使用"绑定挂载"将卷附加到容器.
docker run -v /path/to/data/on/host:/path/to/data/in/container <image> ...
Run Code Online (Sandbox Code Playgroud)
这样您就可以更改图像,而不必每次都重新下载大型数据集.
如果您想使用注册表来分发大型数据集,但想要单独管理对数据集的更改,则可以使用如下所示的数据卷容器Dockerfile:
FROM tianon/true
COPY dataset /dataset
VOLUME /dataset
Run Code Online (Sandbox Code Playgroud)
从应用程序容器中,您可以使用以下命令附加该卷
docker run -d --name dataset <data volume image name>
docker run --volumes-from dataset <image> ...
Run Code Online (Sandbox Code Playgroud)
无论哪种方式,我认为https://docs.docker.com/engine/tutorials/dockervolumes/是你想要的.
我应该将它们包含在容器中(例如
COPY large_folder large_folder_in_container)吗?
如果你这样做,那将包括它们在图像中,而不是容器:你可以从该图像启动20个容器,使用的实际磁盘空间仍然是10 GB.
如果您要从第一张图像制作另一张图像,分层文件系统将重复使用父图像中的图层,而新图像仍将"仅"10GB.
| 归档时间: |
|
| 查看次数: |
6505 次 |
| 最近记录: |