这是我的问题。
我需要从容器内的卷中读取数据。我不需要在我的 docker 文件中使用 ADD 命令将这些数据直接复制到我的容器中,而是需要从数据占位符(即保存数据的容器)中查找这些数据。
所以,我创建了这个数据容器,
docker run -d -v/var/lib/ABC --name ABC_datastore busybox true。
据我了解,这应该创建一个容器 ABC_datastore,该容器将包含我从中运行此命令的主机的目录/var/lib/ABC 中的数据?我错了吗?
所以如果我的理解是正确的,我可以在我的主容器中使用这个容器,
docker run -i -t --volumes-from ABC_datastore --name="ABC_ins"-d ABC_img
这应该用正确的值填充我的 ABC-ins 中的/var/lib/ABC。但它没有发生。我的 ABC-ins 中的文件夹/var/lib/ABC 是空的。
我还尝试使用以下方法填充数据,
docker run -d -v/var/lib/ABC --name ABC_datastore busybox true;
tar -c/var/lib/ABC | docker run -a stdin -i --volumes-from ABC_datastore busybox tar -xC/var/lib/ABC
这里也没有运气。
任何帮助将不胜感激。我的最终目标是创建一个数据容器,该容器将包含/var/lib/ABC 中的实际数据,这些数据可以在给定路径中的容器内使用。
最佳答案
docker run -d -v /var/lib/ABC --name ABC_datastore busybox true.
To my understanding this should create a container ABC_datastore that will contain the data inside the directory /var/lib/ABC of the host from which I am running this command? Am I wrong?
您需要使用
-v /path/to/source:/path/to/destination
格式告诉 docker 要将卷挂载到容器内的哪个位置。 .尝试:
docker run -d -v /var/lib/ABC:/var/lib/ABC --name ABC_datastore busybox true
关于docker - Docker 中的数据容器 : Data Not Populated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25057322/