如何将一个文件夹从docker复制到其他文件夹?

RUN cp /data/ /data/db ,该命令不会将/data的文件复制到/data/db

有没有其他的方法来做到这一点?

这取决于你的位置/data ,已经在图像中,或在主机磁盘上。

Dockerfile RUN命令在当前图像的顶层执行新图层中的任何命令并提交结果。

这意味着/data是迄今为止在图像中find的/data
不是你的磁盘上的/data

如果要从磁盘复制到image /data/db文件夹,则需要使用COPYADD

在运行时,当你有一个现有的正在运行的容器时,你也可以使用docker cp从容器中复制。