有什么简单的方法可以访问在另一个 Docker 容器中运行的 Nextcloud 的 Docker 卷的目录?

有什么简单的方法可以访问在另一个 Docker 容器中运行的 Nextcloud 的 Docker 卷的目录?

我希望这是提出这个问题的正确地方。

我的问题如下:我家的服务器上有一个 Ubuntu Server 22.04.2,其中运行着 docker。docker 容器我在跑Nextcloud在另一个容器中运行无纸化-ngx.现在我想通过 nextcloud 从 paperless 访问我的扫描文件

  • 到目前为止我尝试过FTP服务器通过 FTP 将我的 Paperless-ngx 存档目录作为外部存储添加到 nextcloud。我认为这行不通,因为 docker 卷没有保存在我的个人资料中,而是保存在系统(?)文件中。所以我无法使用我的个人资料登录访问该目录,而且尝试以 root 用户身份登录也行不通。

  • 接下来,我尝试创建一个软/符号链接使用ln -s /<path to directory> /<path to directory>。链接有效,但我也无法使用 Proftpd 在 nextcloud 上创建外部存储。我不太清楚为什么它不起作用,但我认为这是因为链接目录具有与原始目录相同的根设置(我无法更改),因此无法使用 FTP。

  • 最后,我尝试使用软链接从我的 paperless 目录直接链接到我的 nextcloud 目录。我可以在终端中看到该目录,但当我尝试在 nextcloud 中访问它时,它没有显示出来。

我对使用 Ubuntu 服务器和 Docker 容器还很陌生,因此我可能在此过程中做出了一些愚蠢的决定。我是否可以做些不同的事情来让它工作?或者我的“解决方法”根本不可行?如果是这样:有没有简单的解决方案来实现这个功能?

答案1

最简单的方法(用于家庭实验室)是使用Docker 绑定挂载用于持久存储。

官方的 Nextcloud 镜像甚至有一个描述此内容的部分(在持久数据下)。

使用持久卷运行配置和数据所需命令的示例如下:

$ docker run -d \
    -p 8080:80 \
    -v /path/to/appdata:/var/www/html/config \
    -v /path/to/data:/var/www/html/data \
    nextcloud

这里,/path/to/appdata/path/to/data需要替换为您希望此持久存储所在的文件夹的实际完整路径。

然后,您可以/path/to/data使用相同的方法将该文件夹映射到另一个容器,从而允许多个容器和主机文件系统本身之间直接共享该文件夹。

相关内容