我有这样的音量设置:
volumes:
- type: bind
source: //c//Docker/themes
target: /var/www/html/wp-content/themes
它可以工作,但是当我创建此挂载时,它将删除docker中指定路径上的所有文件。
是否有保留这些文件并将其复制到主机的选项或方法?
答案 0 :(得分:1)
安装不会删除目标路径上存在的数据,而是将其隐藏,直到删除安装点,您会发现旧数据仍然存在。可以将其视为已挂载的新卷下的旧数据
例如,如果您的主硬盘上有wp-content/uploads/
,并且由于某种原因,您决定使用单独的磁盘进行上载。如果直接装载指向上载路径的新硬盘,它将隐藏旧文件,但不会删除它们,这就是为什么在装载之前需要首先迁移数据的原因。
因此,通常我通常先将容器中的内容(如果需要)复制到主机,然后再进行安装。因此,您可以先使用此命令(由于//c
,我假设您在Windows上-因为我不是Windows用户,所以您可能需要根据需要更改路径)
docker cp mycontainer:/var/www/html/wp-content/themes //c//Docker/themes
在此之后,您可以装入将包含所有内容的主机目录。但是请确保在复制之前主机上没有类似的目录,以避免覆盖数据。