我有一个docker镜像,我使用嵌入式derby持久性:
COPY BatchDB /opt/ibm/wlp/usr/shared/resources/BatchDB
COPY derby /opt/ibm/wlp/usr/shared/resources/derby
文件夹BatchDB具有一些运行时文件,这些文件也在映像构建时复制。
我想使用docker卷来保存/opt/ibm/wlp/usr/shared/resources/BatchDB
目录,但是当我运行容器时,如果我附加了docker volume create --name dataVolume
外部创建的docker卷,则容器在BatchDB文件夹中没有任何文件。
安装卷时是否有任何方法,我仍然在构建时存储文件?
答案 0 :(得分:0)
首先,为了防止由于此问题导致的其他可能错误已经过时,请务必了解最新版本,volumes-from
已弃用。
因此,我建议您使用命名卷,但是虽然您的数据在构建时与COPY一起存储,但在运行服务时,其他容器可以访问卷中的数据。
即,如果您使用docker-compose
定义容器,则数据不在docker-compose
版本的卷目录中,而是docker-compose up / run
。
执行此操作时,您可以将其用作卷,甚至作为绑定(附加到主机),检查/var/lib/docker/volumes/YOUR_NAMED_VOLUME_NAME/_data