Docker WORKDIR作为卷

Docker WORKDIR作为卷,docker,dockerfile,Docker,Dockerfile,在我的dockerfile中,我有我的WORKDIR,我想将它作为一个卷,因此在主机上,我在/var/lib/docker/volumes/中有一个目录,其中的内容与WORKDIR中的内容相同。 如何使用VOLUME Dockerfile命令执行此操作?虽然您可以在构建映像时使用的WORKDIR上装载卷,但该卷在构建时不可用。卷仅可用于容器,而在构建映像时不可用 您可以将文件复制到映像中,以表示容器运行后卷中将存在的内容,并使用这些临时文件完成映像的构建。但是,一旦在该位置装入卷,这些确切的文件

在我的dockerfile中,我有我的WORKDIR,我想将它作为一个卷,因此在主机上,我在/var/lib/docker/volumes/中有一个目录,其中的内容与WORKDIR中的内容相同。
如何使用VOLUME Dockerfile命令执行此操作?

虽然您可以在构建映像时使用的WORKDIR上装载卷,但该卷在构建时不可用。卷仅可用于容器,而在构建映像时不可用

您可以将文件复制到映像中,以表示容器运行后卷中将存在的内容,并使用这些临时文件完成映像的构建。但是,一旦在该位置装入卷,这些确切的文件将无法访问

要将主机中的目录装入容器中,您需要将-v参数传递给启动容器的docker run命令,您可以对不同的目录或单个文件执行多个-v参数:

docker run-v/var/lib/docker/volumes:/full/path/inside/container您的\u image\u名称
为什么您特别想要一个卷?你能分享你已经拥有的内容吗?我建议在大多数情况下避免使用Dockerfile VOLUME指令,并小心Docker自动命名卷设置如果图像内容发生更改,或者使用绑定装载而不是命名卷,或者在Kubernetes上运行,Docker自动设置将不会发生。我希望使用它以便在WORKDIR中看到文件,因为它们是从GitHub中提取出来的,而且不太可靠,所以我想看看它是否更新了。你不需要卷,也不应该在/var/lib/docker中到处翻找。如果docker运行-rm-it yourimage bash,假设图像没有损坏的入口点,那么您将在基于图像的容器中获得一个交互式shell,您可以查看任何您想要的内容。