【问题标题】:Images inside a docker volume are not served by a docker php applicationdocker php 应用程序不提供 docker 卷内的图像
【发布时间】:2020-03-14 18:59:55
【问题描述】:

我正在运行一个基于官方 php-fpm 映像的自定义 Docker 映像,只是稍作调整。在主机内部,我有一个文件夹,其中包含一些我想要服务器的图像,因此我正在运行容器并将主机图像文件夹绑定到我的容器中的一个文件夹,例如/home/host/images:/var/www/storage/images。这很顺利,如果我 bash 进入容器,我会在那里看到文件。

当我从容器中的公用文件夹(如ln -s /var/www/storage/images /var/www/public/images)对文件夹进行符号链接时,我的问题就出现了。 该链接似乎是正确的,我可以使用 shell 导航到那里,例如查看我的 test.png 图像,但每当我尝试提供任何图像时,例如 https://my-web-app.com/images/test.png,我都会得到 404。

但是,我从容器外壳内部创建了另一个文件夹,例如 /var/www/storage/images2,然后移动了 test.png,然后更新了我的链接,例如 ln -s /var/www/storage/images /var/www/public/images2,然后测试了 https://my-wen-app.com/images/test.png,它可以工作!

为什么我不能链接我的绑定文件夹,但我可以链接我刚刚创建的这个新文件夹?绑定以允许此链接工作时是否还有其他事情要做?

【问题讨论】:

标签: php docker


【解决方案1】:

我终于找到了原因。 符号链接运行良好,问题在于容器架构是:一个容器运行php-fpm,另一个容器运行nginx 主文件夹绑定到两个容器,但图像文件夹刚刚安装到php-fpm 容器所以当nginx 容器被要求提供图像时,没有找到任何东西,因为它看不到这个卷。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    • 2023-03-16
    相关资源
    最近更新 更多