leo*_*ape 6 wordpress docker dockerfile
我有一个 Wordpress 容器,我想在启动时将本地文件夹(带有文件)复制到其中
我的文件夹中有本地文件:
/html/wp-content/plugins
/html/wp-content/themes
/html/wp-content/uploads
Run Code Online (Sandbox Code Playgroud)
我有一个 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"]
Run Code Online (Sandbox Code Playgroud)
尽管复制成功(构建通过),但文件未显示在这些目标文件夹中。
如果我将目标文件夹更改为 /html 之前的任何路径,例如,如果我将目标设置为 /var 或 /var/www,则文件将被复制,我可以在容器中看到它们。
我在这里查看了这篇旧文章,其中提到 /html 文件夹实际上在启动时作为卷安装,因此我需要先将文件复制到此文件夹中
/usr/src/wordpress/wp-content
Run Code Online (Sandbox Code Playgroud)
然后在启动时这些文件夹将自动复制到 /var/www/html/wp-content/ 。(这可以解释为什么直接复制似乎不起作用)
我也尝试过,虽然我的本地文件夹确实被复制到这些文件夹中(我可以在容器中看到它们),但它们在启动时不会复制到 /var/www/html/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 将主题复制到公开的文件夹中
小智 0
今天我遇到了同样的问题。我想在使用 COPY 构建图像时添加主题。然而,这并没有奏效。这是因为我已经将 wp-content 文件夹设置为卷。看来您无法复制到卷中。
以下链接中的讨论帮助我认识到了这一点:
https://github.com/docker-library/wordpress/issues/146
下面我添加了我的 WordPres Dockerfile 和 docker-compose 文件。注释掉卷后,一切都按预期进行。
我当然希望两年后你不再需要它了,哈哈。
参考: https: //docs.docker.com/samples/wordpress/
Dockerfile
FROM wordpress:latest
WORKDIR /var/www/html
COPY ./wp-content/ ./wp-content/
RUN chmod -R 755 ./wp-content/
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml
FROM wordpress:latest
WORKDIR /var/www/html
COPY ./wp-content/ ./wp-content/
RUN chmod -R 755 ./wp-content/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2720 次 |
| 最近记录: |