以前,要訪問一個文件在運行的dokku比如我會跑: docker ps
得到容器ID後跟 ls /var/lib/docker/aufs/diff/<container-id>/app/...
注:我只是用「LS」作爲一個例子命令。我最終想引用一個特定的文件。Dokku/Docker,如何在運行容器的文件系統中訪問文件?
由於容器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
但不再起作用。
對此有何看法?我是否全部錯了?
非常感謝您的任何想法。
太棒了。非常感謝。這很有道理。我的unix經驗顯然是有限的。你的解釋幫助我更好地理解了'dokku postgres:connect db-name
ThePuzzleMaster
沒問題。Unix命令行是[所有關於管道](http://www.linfo.org/pipe.html)和[重定向](http://www.linfo.org/redirection.html)。 ''只是將文件重定向到命令的標準輸入。 – Matt