【发布时间】:2017-09-10 01:33:12
【问题描述】:
我有一个用于在/home/ics199/vendor/ 处生成vendor/ 文件夹的映像的Dockerfile。我想将此文件夹复制到/var/www/html。问题是我还使用/var/www/html 作为与主机一起安装的卷。如果我将vendor/ 文件夹复制到/var/www/html,则在安装卷时它会被隐藏并且无法使用。所以,它需要在挂载后被复制。我希望将其复制到容器中以保留文件权限(而不是容器-> 主机-> 容器),尽管我知道作为副作用,它会出现在主机的挂载卷中。最好的方法是什么(最好是自动)?
【问题讨论】:
-
我相信您需要在容器运行时进行复制(即通过
CMD或ENTRYPOINT)。 -
您是否希望容器内的文件夹结构为
/var/www/html/vendor?如果是这样,您可以在docker run命令中使用两次-v,首先是-v /foo/bar:/var/www/html,然后是-v /home/ics199/vendor:/var/www/html/vendor。 -
我认为这行不通,因为
/home/ics199/vendor不在主机上,而是在容器中。现在,我正在手动操作docker exec -it <container id> bash,然后手动操作cp -R /home/ics199/vendor/ /var/www/html。
标签: docker containers volumes