我可以将 Docker 镜像挂载为 Docker 中的卷吗?

Mit*_*tar 14 docker docker-image

我想将一些较大的静态文件/资产作为 Docker 映像分发,以便用户可以轻松地像拉取应用程序本身一样拉取这些可选文件。但我真的找不到一种将文件从一个 Docker 映像公开到另一个的好方法吗?有没有办法将 Docker 映像本身(或其中的目录)作为卷安装到其他 Docker 容器?

我知道有我可以使用的音量插件,但我找不到任何可以使用此插件或类似插件的地方?

mul*_*g0r 7

可以将映像的任何目录创建到 docker 卷,但不能创建完整映像。至少不是以一种漂亮或简单的方式。

如果您想从映像创建一个目录作为 docker 卷,您可以创建一个命名卷:

docker volume create your_volume
docker run -d \
  -it \
  --name=yourcontainer \
  -v your_volume:/dir_with_data_you_need \
  your_docker_image
Run Code Online (Sandbox Code Playgroud)

从此时起,您将可以访问your_volume图像中的数据your_docker_image

无法将整个映像挂载到卷中的原因是 docker 不允许指定/为命名卷的源。Cannot create container for service your-srv: invalid volume spec "/": invalid volume specification: '/'即使你尝试使用 docker-compose 也会成功。