Bo *_*hen 8 containers volume docker
我知道在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
Run Code Online (Sandbox Code Playgroud)
我的问题是我们如何创建data_image?
我知道最简单的方法是创建一个基于ubuntu的图像,或类似的东西
From ubuntu
Copy data /data
CMD["true"]
Run Code Online (Sandbox Code Playgroud)
但问题是,为什么我需要ubuntu作为我的基本图像??? (我知道这不是什么大问题因为ubuntu会在其他情况下重新使用).我真的很想知道为什么我不能用刮痕?
FROM scratch
COPY data /data
#I don't know what to put here
CMD ["???"]
Run Code Online (Sandbox Code Playgroud)
我在这里创建的图像是一个虚拟的图像,它执行绝对NOTHING并且只作为一个虚拟数据容器,即用于 docker run -v /data --name my_dummy_data_container my_dummy_data_image
有任何想法吗??
(是否因为临时没有实现最小的文件系统?但是如果容器没有实现自己的,那么Docker可以使用主机系统的文件系统)
Elt*_*man 12
是的,你可以这样做FROM scratch.
A CMD是创建容器所必需的,但Docker不验证它 - 因此您可以指定一个虚拟命令:
FROM scratch
WORKDIR /data
COPY file.txt .
VOLUME /data
CMD ["fake"]
Run Code Online (Sandbox Code Playgroud)
然后使用docker create您的数据容器而不是docker run,所以伪命令永远不会启动:
> docker create --name data temp
55b814cf4d0d1b2a21dd4205106e88725304f8f431be2e2637517d14d6298959
Run Code Online (Sandbox Code Playgroud)
现在创建容器以便可以访问卷:
> docker run --volumes-from data ubuntu ls /data
file.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1761 次 |
| 最近记录: |