带有 Docker 的 Laravel 存储



我正在为Laravel应用程序设置Docker,该应用程序是一个内部CDN,其中包含大量图像和其他静态文件,./storage/app,包括privatepublic。我希望使用 GitLab CI 构建 Docker 映像,我的问题是在不覆盖存储内容的情况下构建它的正确方法是什么?存储库中不存在这些内容。

我对此有两个想法:

  • 创建从/var/www/html到项目./storage/app/public的符号链接,以及/some_other_folder到项目./storage/app/private的符号链接。在这种情况下,问题是我可以将文件写入文件夹的软链接吗,如果可以,该文件真的会出现在符号链接的原始文件夹中吗?如果所有这些都适用,我也有兴趣是否真的可以创建一个指向 Docker 容器内文件夹的符号链接......

  • 将 Laravel 存储设置为在外部写入文件,而不是文件夹中的文件夹。在这种情况下,问题是我应该如何配置 LaravelDocker以允许将文件写入容器外部,并将它们放在容器之外 直接进入公共/var/www/html私人/some_other_folder

这两种想法是否正确/良好/甚至可以实现?还是有其他解决问题的方法?

我知道这个问题到目前为止不是最新的,但是因为我遇到了同样的问题,并且自己做了相当多的研究,直到我有一个想法:

我已经使用两个绑定挂载启动了 php 容器,它们的工作方式类似于 artisan 创建的链接:

version: '3.7'
services:
laravel:
image: php
volumes:
- type: bind
source: /path/to/laravel/project/
target: /var/www/html/
- type: bind
source: /path/to/laravel/project/storage/app/public/
target: /var/www/html/public/storage/

试试这个:

docker exec -it my_container bash -c "cd public && ln -s ../storage/app/public storage"

相关内容

  • 没有找到相关文章

最新更新