从哪里/如何将文件填充到/ var / www / html?

我正在学习Docker并试图理解volumes 。 看看这个wordpress组合和它的dockerfile的例子,我没有得到哪个命令负责将wordpress文件填充到/var/www/html

我看到在dockerfile中有VOLUME /var/www/html命令来创build一个挂载点。

有命令来下载wordpress文件并放在/usr/src/wordpress目录下。

但是我没有得到的是文件如何进入/var/www/html

难道只是挂载到这个目录导致所有的wordpress文件神奇地存储在这个?

是否在其他地方泊坞窗是这样做的?

编辑:这些wordpress文件已经移动或复制时,运行docker-compose up 。 我不问如何将文件移动/挂载到/var/www/html 。 但问题是这个事情是如何发生的,指的是上面的dockerfile和docker撰写文件。

谢谢

在这种情况下, entrypoint是复制文件,如果他们不存在。 在Dockerfile中注意, wordpress源被添加到/ usr / src / wordpress 。 然后,当容器启动时,入口点检查是否存在一些文件 ,如果不存在 ,则将wordpress源复制到当前目录 ( WORKDIR ,即/ var / www / html)中。

一般docker卷的东西

使用指定为VOLUME /var/www/html ,从容器的angular度来获取文件的唯一方法是将docker卷与文件连接起来。 把它看作一个安装点。

您可以将本地文件系统附加到该卷:

 docker run -v /path/to/local/webroot:/var/www/html wordpress 

或者你可以创build一个docker卷,并将其用于持久的更多docker-esque对象:

 docker volume create webroot 

然后将文件移动到一个瞬态容器中:

 docker run --rm -v /path/to/local/webroot:/var/www/html \ -v webroot:/var/www/html2 \ ubuntu cp -a /var/www/html/ /var/www/html2 

在这一点上,你有webroot作为docker卷,你可以附加到任何容器。

 docker run -v webroot:/var/www/html wordpress