docker卷中的图像未由docker php应用程序提供

问题描述 投票:0回答:1

我正在基于官方的php-fpm映像运行自定义Docker映像,仅作了一些细微调整。在主机内部,我有一个包含要存储的图像的文件夹,因此我正在运行容器并将主机图像文件夹绑定到容器中的文件夹,例如/home/host/images:/var/www/storage/images。进行得很好,如果我将bash放入容器中,则会在其中看到文件。

当我从容器中的公共文件夹(如ln -s /var/www/storage/images /var/www/public/images)符号链接该文件夹时,出现了我的问题。链接似乎正确,我可以使用外壳浏览到那里,例如,查看我的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个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.