挂载时将文件从Docker复制到主机

时间:2019-07-04 19:30:36

标签: docker docker-compose

我有这样的音量设置:

volumes:
  - type: bind
    source: //c//Docker/themes
    target: /var/www/html/wp-content/themes

它可以工作,但是当我创建此挂载时,它将删除docker中指定路径上的所有文件。

是否有保留这些文件并将其复制到主机的选项或方法?

1 个答案:

答案 0 :(得分:1)

安装不会删除目标路径上存在的数据,而是将其隐藏,直到删除安装点,您会发现旧数据仍然存在。可以将其视为已挂载的新卷下的旧数据

例如,如果您的主硬盘上有wp-content/uploads/,并且由于某种原因,您决定使用单独的磁盘进行上载。如果直接装载指向上载路径的新硬盘,它将隐藏旧文件,但不会删除它们,这就是为什么在装载之前需要首先迁移数据的原因。

因此,通常我通常先将容器中的内容(如果需要)复制到主机,然后再进行安装。因此,您可以先使用此命令(由于//c,我假设您在Windows上-因为我不是Windows用户,所以您可能需要根据需要更改路径)

docker cp mycontainer:/var/www/html/wp-content/themes //c//Docker/themes

在此之后,您可以装入将包含所有内容的主机目录。但是请确保在复制之前主机上没有类似的目录,以避免覆盖数据。

相关问题