DEVILBOX:使用 data/www/{symbolic_link} 的符号链接

DEVILBOX : Using symlinks for data/www/{symbolic_link}

有没有使用符号 link 将自定义文件夹添加到 Devilbox 的数据文件夹中? 当我放置符号 link 时,自动虚拟主机会忽略该文件夹。

谢谢。

好的,我成功了。为了将来参考,手动制作所有根文件夹,但接受根文件夹内部的符号链接。

data/www/proj-slug/{htdocs} width {htdocs} -> ~/git/proj-slug

我曾经遇到过完全相同的问题,但我已经解决了。

TL;DR;解决方案:

  • 在 devilbox 项目的根目录中创建一个名为 docker-compose.override.yml

    的新文件
  • 将其复制并粘贴到文件中

# IMPORTANT: The version must match the version of docker-compose.yml
---
version: '2.3'

services:
  php:
    volumes:
      - $HOME:$HOME
  httpd:
    volumes:
      - $HOME:$HOME
  • 现在您可以创建符号链接,例如

data/www/proj-slug/htdocs -> ~/your-custom-path

说明

关注@Pirex360 的回复还不足以使用符号链接。实际上,当您创建符号链接时,vhost 页面会显示“没有 htdocs 文件夹”。

问题在于 Devilbox 中的所有内容都已“Docker 化”,因此您的 Docker 容器无法访问未安装在 Docker 中的文件和文件夹容器。

在线搜索了一下,我在项目存储库中发现了一个关于 here 的问题。许多用户想到了修改 docker-compose.yml 文件以便挂载他们需要的文件夹的可能性。

然而,

Docker 已经提供了一种覆盖 docker 撰写文件的方法。正确的方法是创建一个 docker-compose.override.yml 文件。

上面粘贴的配置允许在 docker 中安装主机用户主文件夹。事实上,您可以在 Docker 家找到您的 home 文件夹。

可以通过shell文件

查看进入Docker环境的效果
$ cd devilbox
$ ./shell.sh # or .bat
$ ls /home
devilbox/ yourusername/

然后指向 /home/yourusername/custompath 的每个符号链接都按预期工作!

Laravel public 文件夹

如果您只是想创建一个将 public 文件夹映射到 htdocs 的符号链接,您可以使用 Devilbox Setup Laravel.

提供的指南

@marcogmonteiro 在评论中谈到了这一点。但是,此方法仅适用于符号链接不在 Docker 可见树之外的文件或文件夹。

重要免责声明

这种将您的主文件夹装载到 Docker 的方式打破了容器与您的文件和文件夹之间的隔离。因此,Docker 容器可以 read/write/execute 你的文件。