gpt4 book ai didi

docker - 在 docker 中创建一个纯数据镜像

转载 作者:IT老高 更新时间:2023-10-28 21:22:13 26 4
gpt4 key购买 nike

我知道在 docker 中我们可以像这样运行数据卷容器

#create a pure data container based on my data_image
docker run -v /data --name data-volume-container data-vol-container-img

# here I'm using the data volume in a property container (ubuntu)
docker run --volumes-from data-volume-container ubuntu

我的问题是我们如何创建 data_image?

我知道最简单的方法是基于 ubuntu 或类似的东西创建图像

From ubuntu
Copy data /data
CMD["true"]

但问题是,为什么我需要 ubuntu 作为我的基础镜像??? (我知道这没什么大不了的,因为 ubuntu 将在其他场景中重用)。我很想知道为什么我不能使用scratch??

FROM scratch
COPY data /data
#I don't know what to put here
CMD ["???"]

我在这里创建的图像是一个虚拟的,它绝对不执行任何操作,只充当一个虚拟数据容器,即用于 docker run -v/data --name my_dummy_data_container my_dummy_data_image

有什么想法吗??
(是不是因为scratch没有实现最低限度的文件系统?但是如果容器没有实现自己的,Docker可以使用宿主系统的文件系统)

最佳答案

是的,您可以从头开始

CMD 是创建容器所必需的,但 Docker 不会对其进行验证 - 因此您可以指定一个虚拟命令:

FROM scratch
WORKDIR /data
COPY file.txt .
VOLUME /data
CMD ["fake"]

然后对你的数据容器使用 docker create 而不是 docker run,所以假命令永远不会启动:

> docker create --name data temp
55b814cf4d0d1b2a21dd4205106e88725304f8f431be2e2637517d14d6298959

现在容器已创建,因此可以访问卷:

> docker run --volumes-from data ubuntu ls /data
file.txt

关于docker - 在 docker 中创建一个纯数据镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40090232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com