我想在docker容器中运行云,然后将数据存储在容器外部的卷中。这样,当我的容器被破坏或删除时,数据仍然是持久的。
在docker container run -v /path/to/src:/path/to/target imageName:tag
处传递volume参数时,它运行良好,没有任何问题。
如何将src
和target
目标传递到dockerfile中?VOLUME /path/to/target
将创建一个卷,该卷的源在var/lib/docker
中不想要的位置。
最佳答案
简短的回答:不能。
长答案:您在这里要做的本质上是反对图像的可移植性。 Docker文档明确指出这是不可能的,如下所示:https://docs.docker.com/engine/reference/builder/
“主机目录是在容器运行时声明的:主机目录(挂载点)从本质上说是依赖于主机的。这是为了保留镜像的可移植性,因为不能保证给定的主机目录在主机上可用所有主机。因此,您不能从Dockerfile内挂载主机目录。VOLUME指令不支持指定host-dir参数。创建或运行容器时必须指定挂载点。