首页 > 解决方案 > 如何使用 Dockerfile 将本地 wp-content 文件复制到 Wordpress 容器

问题描述

我有一个 Wordpress 容器,我想在启动时将本地文件夹(带文件)复制到

我在文件夹中有本地文件:

/html/wp-content/plugins
/html/wp-content/themes
/html/wp-content/uploads

我有一个 Dockerfile:

FROM wordpress

COPY ./html/wp-content/plugins/ /var/www/html/wp-content/plugins
COPY ./html/wp-content/themes/ /var/www/html/wp-content/themes
COPY ./html/wp-content/uploads/ /var/www/html/wp-content/uploads

ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["apache2-foreground"]

尽管 COPY 成功(构建通过),但文件未显示在这些目标文件夹中。

如果我将目标文件夹更改为在 /html 之前的任何路径上,例如,如果我将目标设置为 /var 或 /var/www,则文件将复制并且我可以在容器中看到它们。

在这里查看了这个旧帖子,其中提到 /html 文件夹实际上是在启动时作为卷安装的,所以我需要先将文件复制到这个文件夹中

/usr/src/wordpress/wp-content

然后在启动时这些文件夹将自动复制到/var/www/html/wp-content/。(这可以解释为什么直接复制似乎不起作用)

我也试过了,虽然我的本地文件夹确实被复制到了这些文件夹中(我可以在容器中看到它们),但它们并没有在启动时被复制到 /var/www/html/content !

  1. 是否可以通过 dockerfile 将本地文件直接复制到 /var/www/html 文件夹中?
  2. 如果没有,我如何确保如果复制到/usr/src/wordpress/wp-content,文件夹将在启动时复制到/var/www/html/wp-content/?

(我浏览过的一些帖子不起作用,因为这似乎是 Wordpress 特有的,而不是 Dockerfile COPY 本身:)

Dockerfile 复制保留子目录结构 Docker 没有将子目录复制到容器 中 如何将文件夹从 Dockerfile 复制到 docker 映像? https://www.serverlab.ca/tutorials/containers/docker/how-to-host-your-wordpress-site-with-docker/ Wordpress docker 将主题复制到暴露的文件夹中

标签: wordpressdockerdockerfile

解决方案


推荐阅读