Dokku/Docker,如何访问运行容器的文件系统中的文件?

The*_*ter 0 postgresql ubuntu docker dokku

以前,要访问正在运行的 dokku 实例中的文件,我会运行: docker ps获取容器 ID,然后 ls /var/lib/docker/aufs/diff/<container-id>/app/... 注意:我只是使用 'ls' 作为示例命令。我最终想引用一个特定的文件。

这肯定已更改,因为无法再通过此路径访问容器 ID。该文件夹中有大量目录,但没有一个目录与任何正在运行的容器相匹配。

在这种情况下,为整个容器安装一个卷似乎有点矫枉过正。我知道我可以使用dokku run project-name ls, 和访问文件系统docker exec <container-id> ls,但这些都不能满足我的用例。

为了更全面地解释一下,在我的 dokku 项目中,我有一些 .sql 文件用于引导我的 postgres 数据库。这些文件git push与项目的其余部分一起推送。

我希望使用 postgres dokku 插件来运行以下内容:

dokku postgres:connect db-name < file-name.sql

这是我以前一直在使用的:

dokku postgres:connect db-name < /var/lib/docker/aufs/diff/<container-id>/app/file-name.sql 但这不再有效。

对此有何想法?我在这一切都错了吗?

非常感谢您的任何想法。

Agu*_*aji 11

下面是一个例子:

dokku apps:list

======>我的应用程序

虚拟应用程序

dokku enter DummyApp

在 DummyApp 容器中输入 bash。

  • 这确实应该是公认的答案...非常简单,只需将其放入应用程序工作目录中的 shell 中即可。 (2认同)