装载时将文件从docker复制到主机

装载时将文件从docker复制到主机,docker,docker-compose,Docker,Docker Compose,我的音量设置如下: volumes: - type: bind source: //c//Docker/themes target: /var/www/html/wp-content/themes 它可以工作,但是当我创建这个挂载时,它会删除docker上指定路径中的所有文件 是否有保留这些文件并将其复制到主机的选项或方法?装载不会删除目标路径上存在的数据,它会将其隐藏,直到您删除装载点,您会发现旧数据仍然存在。可以将其视为已装入的新卷下存在的旧数据 例如,如果主硬盘上有w

我的音量设置如下:

volumes:
  - type: bind
    source: //c//Docker/themes
    target: /var/www/html/wp-content/themes
它可以工作,但是当我创建这个挂载时,它会删除docker上指定路径中的所有文件


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

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

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

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


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

主机目录最初是空的吗?我使用docker compose文件来创建容器。我有没有办法在每次设置撰写文件时都不手动删除其中的卷?@Guerrilla,我们是在谈论最初的wordpress主题吗?如果是这样的话,那么从您正在使用的同一wordpress版本中获取它们并在本地保存怎么样?
docker cp mycontainer:/var/www/html/wp-content/themes //c//Docker/themes