7

我正在尝试使用dokku-persistent-storage,因此我的 rails 应用程序的上传文件保留在服务器上,但我不太了解如何构建路径,因为我是DokkuDocker的新手。(我在 Digital Ocean 上的 Ubuntu droplet 上运行它)


我不确定它是否应该是这样的:

[SERVER IP ADDRESS]/home/dokku/myapp/public_folder

或者

/home/dokku/myapp/public_folder

或者如果我离开了,它应该是完全不同的东西。


这就是 github 部分所说的:

在您的应用程序文件夹 (/home/dokku/app_name) 中创建一个名为 PERSISTENT_STORAGE 的文件。

在此文件中,每行列出一个要挂载的卷映射/卷。例如:

/host/path:/container/path
/another/container/path

上面的示例将导致在部署和 docker run 期间将以下参数传递给 docker:

-v /host/path:/container/path -v /another/container/path

可以在此处找到有关 docker 卷的移动信息:http: //docs.docker.io/en/latest/use/working_with_volumes/

4

2 回答 2

0

我不喜欢 Ruby 或 dokku,但如果我理解正确的话,你希望你的 docker 在主机上有一个持久存储。

关于您引用的文档,PERSISTENT_STORAGE 文件包含从主机文件系统目录到容器文件系统目录的映射(转换为 CLI 的 -v 参数)。

因此,您应该将容器中的上传目录映射到主机上所需的目录。

例如,如果您的应用上传保存到此目录(在 docker 容器内):

/home/dokku/myapp/public_folder

并且您希望将它们保存在您的主机中:

/home/some/dir

那么,据我了解,PERSISTENT_STORAGE 文件的内容应该是:

/home/some/dir:/home/dokku/myapp/public_folder

我希望我说对了。

于 2014-06-09T01:58:57.213 回答
0

使用 Dokku 的storage:mount选项。

  1. 您需要通过 SSH 连接到您的 dokku 主机: ssh dokku@host

  2. 运行以下命令将该应用程序的存储目录链接到该app/public/uploads文件夹​​,例如:

    storage:mount <app> /var/lib/dokku/data/storage:/app/public/uploads

Dokku 文档很好地涵盖了这一点:http ://dokku.viewdocs.io/dokku/advanced-usage/persistent-storage/

于 2017-02-14T18:04:56.157 回答