0

这是我的问题。

我需要从容器内的卷中读取数据。我不需要在我的 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 中的实际数据,这些数据可以在给定路径中的容器内使用。

4

1 回答 1

2

docker run -d -v /var/lib/ABC --name ABC_datastore busybox true。

据我了解,这应该创建一个容器 ABC_datastore,该容器将包含我从中运行此命令的主机的目录 /var/lib/ABC 中的数据?我错了吗?

您需要使用格式告诉 docker 您要将卷安装在容器内的哪个位置-v /path/to/source:/path/to/destination

尝试:

docker run -d -v /var/lib/ABC:/var/lib/ABC --name ABC_datastore busybox true
于 2014-07-31T12:45:33.790 回答